Skip to content

Repository files navigation

Huzzah

An experimental interface for building software by editing persistent pseudocode and synchronizing it with an AI-generated implementation.

setup

You need Node.js 22.19 or newer and access to a model provider supported by Pi.

  1. git clone https://github.com/danielvaughn/hz.git
  2. cd hz
  3. npm install
  4. Configure Pi using one of the options below.
  5. npm run dev

Open the url (should run on http://localhost:5173)

configure Pi

Huzzah uses Pi's provider, credential, and model configuration. It does not require a particular model vendor.

authenticate with an API key

Set an environment variable supported by your provider before starting Huzzah. For example:

export ANTHROPIC_API_KEY=sk-ant-...

Pi also recognizes credentials for OpenAI, Google, Azure OpenAI, Amazon Bedrock, and other supported providers.

authenticate with a subscription

Run Pi through the web app's local installation:

npx --workspace=poc pi

Enter /login, choose a provider, and complete its authentication flow. Exit Pi when authentication is complete, then start the web app with npm run dev.

choose a model

Set Pi's default provider and model in ~/.pi/agent/settings.json:

{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-5"
}

Use model IDs available to your configured provider. If no default is set, Pi falls back to the first authenticated model it finds. Huzzah currently uses Pi's low thinking level for reconciliation and semantic highlighting regardless of defaultThinkingLevel.

Pi also supports custom providers and local models such as Ollama, LM Studio, and vLLM through ~/.pi/agent/models.json.

Do not paste secrets or private source into Huzzah. Specs and current generated source are sent to your selected model provider, and accepted AI-generated JavaScript runs locally in a Web Worker. This is experimental containment, not a hostile-code sandbox.

ideas to get started

  • A shopping cart that applies discounts, taxes, and free-shipping rules.
  • A task scheduler that prioritizes work by urgency, effort, and deadline.
  • A text formatter that converts rough notes into consistent Markdown.
  • A turn-based combat system with characters, attacks, armor, and status effects.
  • A personal budget that categorizes transactions and warns about overspending.
  • A recommendation engine that ranks movies from a user’s stated preferences.
  • A rate limiter with configurable request windows and per-user allowances.
  • A meeting-room allocator that resolves scheduling conflicts and capacity requirements.
  • A data validator that checks signup forms and returns useful error messages.
  • A word game that scores guesses and tracks state across multiple turns.

About

An experimental editor that offers a novel way to write software with AI.

Resources

Stars

157 stars

Watchers

1 watching

Forks

Contributors

Languages