All work SaaS Product

Throughline

Delegate the work, track it, approve it — without the spreadsheet

Built

A multi-tenant work-management platform built around one loop most tools ignore: a manager delegates a piece of work, the assignee moves it forward, and someone with authority approves it. Boards render as table, kanban, calendar or timeline, all projected from a single snapshot of the data.

7state delegation machine, one mutator
31routes across the app
0config needed to run it locally

The problem

General project tools track that work exists but not who owes what to whom. The moment a team needs real delegation with an approval step, the process leaks into spreadsheets and chat — and nothing stops a person from quietly approving their own work.

What I built

Feature-complete and green across typecheck, lint, tests and production build. Runs with zero configuration locally — install, start, and a dev quick-login drops you into a seeded two-organisation demo.

How it works

Delegation is modelled as an explicit seven-state machine with a single mutator function, so every transition is validated in one place and no-self-approval is enforced for every role including owners. Flexible per-board columns use a typed entity-attribute-value model rather than dynamic schema changes. Tenant isolation runs through one authorisation chokepoint, backed by a custom ESLint rule that fails the build if a component reaches for the database directly. The same code runs on an embedded Postgres locally and a hosted Postgres in production, with migrations serialised by an advisory lock so cold-starting instances can't race.

Feature-complete — build, lint, typecheck and full test suite all green

Highlights

  • Seven-state delegation machine with no-self-approval enforced for every role
  • Table, kanban, calendar and timeline views all projected from one board snapshot
  • Multi-tenant isolation through a single authorisation chokepoint, guarded by a custom ESLint rule
  • Typed EAV model gives per-board custom columns without dynamic schema migrations
  • Dual database driver — embedded Postgres locally, hosted Postgres in production, one codebase
  • Advisory-lock migrations stop cold-starting serverless instances racing each other
Next.js 16React 19TypeScriptDrizzle ORMPostgresTailwind v4
Want one of these?

Let's build yours.

Tell me what you're trying to ship — you'll get a scoped plan and a straight answer.