Skip to main content
This series builds one application across six parts. Each part follows the same three steps: scaffold a project, paste a prompt, then check what came back. A scaffolded project has a fixed layout. Models, services and routes each have one home, and a file placed there is registered without any wiring. Every project also carries a CLAUDE.md describing the conventions, and feather check enforces the ones that can be enforced. Those two properties are what the middle step depends on. An assistant writing a feature has somewhere to put each file and a rule set to follow, and you have a command that reports whether it followed them. You will be reading results and running checks here rather than typing out models.

1. Static board UI

A styled board with columns and cards. No database yet.

2. Persistent boards

It saves. Create and delete without a page reload.

3. Drag and drop

Move cards between columns, and have it stick.

4. Personal Kanban

Sign in with Google. Roles, attachments, PDF export.

5. SaaS Kanban

One app, many companies, no data leaking between them.

6. Deploying

Your domain, real HTTPS, backups, deploy on push.

How each part works

Scaffold

Run feather new and answer a handful of prompts. Each part lists the answers that matter and why. Do this step by hand, because the answers decide what gets generated.

Run the prompt

Copy the prompt from the page and give it to your assistant from inside the project directory. It reads the tutorial, follows the conventions in CLAUDE.md, and runs feather check when it’s done.

Test

Every part ends with a short list of things to click and one command to run. If the list passes, move on.
Claude Code from inside the project directory is the smoothest path. It reads your CLAUDE.md, runs feather check and feather dev itself, and can act on the errors without you relaying them.

Scaffolding answers by part

Parts 1 through 3 build on each other. Parts 4 and 5 each want a fresh project, because they change the app type.
Redis caching defaults to yes in the prompts. Answer n for parts 4 and 5. Nothing in the series uses the cache, and saying yes makes the app expect a Redis server that isn’t running. Background jobs can stay at the default, since the thread backend runs in-process.

What you’ll need

  • Python 3.11+ and Node.js 22+
  • The Feather CLI
  • No database for part 1, SQLite from part 2 on

Reading the code that comes back

You’re not meant to accept it blind. Three commands tell you whether what you got is sound, and they’re the same three the prompts ask the assistant to run: Each part also ends with a What the framework did section explaining the pieces worth understanding, with links into the reference docs.
The full written tutorials, with every code block, are in the Feather repository. The prompts point your assistant at them. Read them yourself if you’d rather build a part by hand.