
1. Spec
docs/spec.md: a small Kanban (boards, columns, cards), must-haves, API paths, and the four-step build (mock UI → OpenAPI → FastAPI in-memory → SQLite later).2. Frontend + mock backend
frontend/. Every API call goes through frontend/src/services. The first client was createMockBoardService() (in-memory + localStorage), so the board ran with no server.createMockBoardService() behaved like a backend but stored information locally in the browser using memory and localStorage. It is useful from a product perspective because it enables testing of the UX before database and backend work. We can answer questions like “Does this workflow make sense?” or “Is creating a card intuitive?”3. Design record
docs/tasks.md (single service layer, camelCase contract, seeded columns, reindex, no auth, and so on).4. .gitignore
node_modules, env files, Python/venv caches, and editor junk.5. OpenAPI contract
openapi.yaml at the repo root: 12 endpoints, camelCase JSON, { "detail": string } errors, no auth, server http://localhost:8091.“To create a card, send this HTTP request with these fields, and expect a response in this format.”
6. FastAPI backend


Implemented backend/ with models, store, and routers. Startup seeds a Workshop board for this kanban app.