Stage 4 of 5 · Day 21

In progress: Backend core

62%

Building a realtime task board for small agencies, in stages: problem → prototype → system design → code. Updated at the end of every working session.

Updated Tue, Nov 3

Daily activity

  • Shipped
  • In progress
  • Rest
  • Planned
  1. Oct 14: Shipped. PRD, user flow, wireframes
  2. Oct 15: Shipped. Hi-fi mockup (12 screens), design tokens
  3. Oct 16: Shipped. Persona walkthrough, mockup v2, system design basics
  4. Oct 17: Shipped. Monorepo, CI, OpenAPI contract
  5. Oct 18: Shipped. Typed mock API, theme, Vercel deploy
  6. Oct 19: Shipped. Data layer, auth and onboarding screens
  7. Oct 20: Shipped. Today, Project and Members screens
  8. Oct 21: Rest. Rest day
  9. Oct 22: Shipped. Stage 1: business brief, status page
  10. Oct 23: Rest. Rest day
  11. Oct 24: Shipped. Visual v2, landing page, Kanban board, live updates, AI drafting, activity log
  12. Oct 25: Shipped. Demo data, demo video, pitch deck
  13. Oct 26: Shipped. C4 diagrams + ERD
  14. Oct 27: Rest. No session
  15. Oct 28: Shipped. Sequences + ADRs
  16. Oct 29: Rest. No session
  17. Oct 30: Rest. No session
  18. Oct 31: Shipped. Backend: auth + guardrails
  19. Nov 1: Rest. No session
  20. Nov 2: Rest. No session
  21. Nov 3: Shipped. Backend: roles + tenant isolation
  22. Nov 4: Planned. Backend: tasks
  23. Nov 5: Planned. Backend: edit conflicts (409)
  24. Nov 6: Planned. Backend: drag and drop (move)
  25. Nov 7: Planned. Frontend on the real API: auth, projects
  26. Nov 8: Planned. Frontend on the real API: board
  27. Nov 9: Planned. Deploy to AWS (demo profile)
  28. Nov 10: Planned. Deploy: main screens on production
  29. Nov 11: Planned. Realtime: WebSocket
  30. Nov 12: Planned. Realtime: Redis pub/sub + outbox
  31. Nov 13: Planned. Members and email invitations
  32. Nov 14: Planned. Today, activity log, rate limit, cache
  33. Nov 15: Planned. Buffer + feedback round
  34. Nov 16: Planned. AI drafts on a real LLM
  35. Nov 17: Planned. AI: validation, retries, rate limit
  36. Nov 18: Planned. AI: evals in CI
  37. Nov 19: Planned. MCP server
  38. Nov 20: Planned. MCP server (continued)
  39. Nov 21: Planned. Claude Code skills, hooks, subagents
  40. Nov 22: Planned. Wrap-up: README, demo video
Oct 14Nov 22

Stages

  • 0. FoundationsOct 14–21Done100%

    Requirements, design system, API contract and a clickable prototype on a mock API.

    • Done: PRD, user flow, wireframes
    • Done: Hi-fi mockup (12 screens) + design tokens
    • Done: Monorepo, CI, OpenAPI 3.1 contract with generated types
    • Done: Typed mock API (MSW): RBAC, 409 conflicts, fractional ordering
    • Done: Auth, onboarding, Today, Project and Members screens
    • Done: Deployed on Vercel with a preview per pull request
  • 1. Problem & ideaOct 22Planned75%

    Is it worth building? Problem with evidence, target customers, competitors, business model, metrics, risks.

    • Done: One-page business brief
    • Done: Public status page
    • Done: v1 scope + v1.1 roadmap locked
    • To do: Pitch passes the gate

    Gate: 60-second pitch in English

  • 2. Prototype & presentOct 23–25Planned86%

    Do users want it? A polished prototype with every v1 feature on mock data, then a live demo.

    • Done: Visual v2 + landing page
    • Done: Kanban drag and drop (keyboard accessible)
    • Done: Simulated live updates from teammates
    • Done: AI task drafting (mock)
    • Done: Activity log per project
    • Done: Demo data, pitch deck, 2-minute demo video
    • To do: Feedback from a mentor and 2–3 team leads; UI frozen

    Gate: Feedback from a mentor and 2–3 team leads; UI frozen afterwards

  • 3. System designOct 26–28Done100%

    How do we build it? Architecture for all of v1, including what ships after the core.

    • Done: C4 diagrams (context, containers) + ERD
    • Done: Sequence diagrams: realtime across instances, AI drafting
    • Done: ADRs: backend stack, infrastructure
    • Done: Contract updated for AI drafts and realtime events

    Gate: 10-minute design review without notes

  • 4. Backend coreOct 29 – Nov 3In progress50%

    Make it real, test first: the prototype switches from the mock to the real API.

    • Done: Quality guardrails: lint, hooks, CI gates
    • Done: Auth with refresh-token rotation
    • Done: Workspaces, roles, tenant isolation tests
    • To do: Tasks: optimistic locking (409), ordering
    • To do: Realtime over Redis pub/sub
    • To do: Frontend on the real API, API deployed

    Gate: Main screens run on the real API in production

  • 5. HardeningNov 4 →Planned0%

    The rest of v1, in priority order.

    • To do: Redis cache, login rate limiting, email queue, outbox
    • To do: AI drafting on a real LLM, with evals in CI
    • To do: MCP server + agent skill for TaskFlow
    • To do: AWS deploy, then Terraform

Updates

  1. Roles and tenant isolation

    Workspaces and projects on the real API. One pure function decides who may do what (owner, admin, member, viewer); outsiders get the same 404 as for something that doesn't exist, so IDs reveal nothing. 18 unit cases cover the permission table and 9 end-to-end tests try to read and write across workspaces.

  2. First real backend: auth

    NestJS API on Postgres, test first: register, login, refresh-token rotation with reuse detection, logout and /me, validated against the OpenAPI contract. A deliberately broken build showed one race test was passing by luck; it now forces the race deterministically. CI runs the API tests against a Postgres service.

  3. System design: sequences and decisions

    Sequence diagrams for the three hard flows (a move seen live across API instances via the outbox, AI drafting with rate limit and timeout, refresh-token rotation with a long-lived socket), the realtime message contract, and two ADRs: NestJS + Prisma, and AWS with demo and production profiles.

  4. System design: containers and data model

    C4 context and container diagrams and the ERD for all of v1: modular monolith (API + worker), WebSocket fan-out over Redis pub/sub, a transactional outbox for reliable events, and a schema built around tenant isolation and optimistic locking. In docs/architecture.

  5. Ready to present

    Richer demo data across three client projects, a 100-second captioned demo video on the landing page, and an 8-slide pitch deck. Next: feedback from a mentor and team leads, then the UI is frozen.

  6. AI task drafting and activity log

    Paste a client brief and get editable task drafts to review before anything is saved (rule-based stand-in for the model on the mock). Every create, edit and move now lands in a per-project activity log. Both endpoints added to the OpenAPI contract as drafts for the Stage 3 review.

  7. Kanban board with live updates

    Drag and drop with optimistic moves (mouse, touch and keyboard, announced to screen readers). Live updates arrive over a WebSocket; on the mock, virtual teammates move and add tasks, with presence avatars and toasts.

  8. Visual v2 and landing page

    New landing page (problem, features, how it works, planned pricing) with a one-click demo. Redesigned sidebar with project colours, a richer Today screen and a new sign-in page.

  9. v1 scope locked

    v1: accounts, workspaces and roles, per-project client viewers, live board with drag and drop, Today, activity log, AI task drafting. Comments, labels, attachments and search move to the v1.1 roadmap.

  10. New process: stages with gates

    After mentor feedback, work now moves in stages — problem, prototype, system design, code — each closed by a gate. Wrote the business brief and shipped this page.

  11. Today, Project and Members screens

    Overview of late and due-soon work, project task list with detail panel and edit-conflict handling, member invites with per-project client viewers. 13 Playwright checks.

  12. Typed data layer and auth screens

    openapi-fetch + TanStack Query typed from the contract; access token in memory, refresh token in an httpOnly cookie; sign-up and onboarding flow.

  13. Mock API and first deploy

    MSW handlers typed from the OpenAPI contract: roles, 409 on concurrent edits, fractional-index ordering. Deployed to Vercel.

  14. Monorepo and API contract

    pnpm + Turborepo + Next.js 16. OpenAPI 3.1 contract with generated TypeScript types and a CI check that they stay in sync.