A visual walkthrough of building a real project with Usta. Ten steps, real screenshots, no marketing fluff.
When you launch Usta you get two entry paths. Both lead to the same workspace experience — they differ only in how the PM agent learns what you're building.

Click the gear icon (top-right). You can mix and match providers — different roles can use different LLMs.
sk-ant-… key. Stored in macOS Keychain, never on disk.The daemon log lives at ~/Library/Logs/Usta/ustad.log. The Show Log / Tail Log buttons open it instantly. When you hit Done, the daemon restarts with the new keys.

One field, 1–3 sentences. The clearer your description, the better the team. Pick the provider + model used to plan (defaults to anthropic / claude-sonnet-4-6). Hit Propose Team.

The PM picks a name (ShopHub in this case), drafts a one-paragraph project summary, picks a stack — Next.js 14 + React 18 + TypeScript + Tailwind, Node.js + Express backend, PostgreSQL + Prisma, NextAuth v5, Zod, Jest + Playwright — and lays out first steps in plain English: who does what, in what order, what they hand off.

The proposal is editable. Scroll down to see every role with its provider/model picker, tools, and skills:

shell, fs_read, fs_write, npm, playwright, …
Name + emoji + why this role + provider/model + tools + skills + which events it publishes + which events it subscribes to + optional custom CLI command + system prompt.
If you'd rather the PM ask sharper clarifying questions before writing any code, hit Refine with Grill. You get a focused Q&A like:
Your answers go straight into each role's brief. When you're happy with the plan, hit Create Project…. Usta scaffolds the repo, writes the role YAMLs, and drops you into the workspace.

Each card is one specialist running its own real PTY (Claude Code, Gemini, or Ollama). The blue banner at the top is the Next Action — the PM tells you which role should act next and gives you a one-click generated prompt.

Top toolbar (zoom):

Click the maximize button on any pane to focus one specialist full-screen. The terminal is a real PTY — keyboard shortcuts, scrollback, everything. The blue banner above shows the scoped task the PM gave this role.

Skills row (zoom) — pre-loaded skills you can invoke with one click:

caveman — terse mode (cuts tokens ~75%)memory — persistent notes across sessionsgrill — request more clarificationtdd — test-driven workflowdiagnose — root-cause analysis modeThe role's YAML decides which skills are active by default; click any chip to invoke it manually.
The right-side Team Activity panel is the source of truth. Every event published on the bus appears here in order. When a role announces api.added, every subscriber to that topic wakes up automatically — no manual hand-off.
If a role goes idle without publishing anything, the idle watcher tails the PTY output, infers what was announced, and publishes it on your behalf.

Type any request in the "Describe the new feature or change…" bar at the top. PM re-plans which roles need to act for just that change, publishes scoped tasks, and only those roles wake up. Roles that were already done stay done.
Pick a target role from the dropdown (default: → @product-manager) or let the PM decide who handles it.
