All case studies
Productized SaaSFeatured

Work Tracker

Bobi Labs · productized

Role

PM-builder · productized internal tool

Duration

Built Q1 2026 · Phase 4–6 in flight

Status

Live · fork-template model

The problem

Contract studios (including ours) live or die on whether the client believes the work is real. Generic Kanban tools (Trello, Linear, Notion) show task status. They don't show why the studio is invoicing what it's invoicing. Most studios end up duplicating their work into a slide deck or invoice spreadsheet, which gets out of sync immediately and erodes trust over time.

We wanted one tool where the scope, build notes, attached files, and partial-invoice tracking lived next to each task. Where the client could see, at any time, what was done, what's in flight, what changed, and what's been billed against it. And where each item's history was a real audit trail, not a Slack scroll.

The approach

Built as a fork-template, not a multi-tenant SaaS. Per-client deployment means each studio fork gets its own Supabase project, its own RLS posture, its own data lifecycle. Clean ownership at the data layer. Forks customize branding, integrations (Telegram, Drive), and field-level extensions without changing the canonical core.

Per-task detail panel: scope text, build notes, file attachments, chat thread, invoice line items. The detail panel IS the artifact. The studio composes it as work happens, the client reads it whenever they want.

Optional Telegram bot per project. Optional Google Drive integration via service account. Both are real-tested integrations the studio uses daily, not slideware.

What shipped

  • Phase 2: Auth, role-gated kanban CRUD, per-task detail panel, real-time chat.
  • Phase 3: @mention notifications via Telegram bot, Google Drive file attachments, invoice tracking per item.
  • Phase 4 (in flight): Files surface refinement, deliverables tab, public read-only client view.
  • Phase 5 (planned): Telegram-only client view (no app needed for the client side).

Stack & decisions

Next.js + TypeScript

App Router. The detail panel is the heaviest client surface; everything else is RSC.

Supabase + RLS

Per-instance project. Auth is Supabase Auth. RLS gates everything by org membership + role.

TanStack Query

Optimistic updates on the kanban + detail panel. Real-time channel subscriptions for the chat.

Telegram Bot API

Service-account bot per project. @mentions push to Telegram with deep-links back to the task.

Google Drive API

Service account picks up file attachments without users having to share their Drive. Per-project folder isolation.

What you won't see in screenshots

Public read-only demo lives at `bobilabs.dev/worktracker/tracker`. Anon-SELECT-only RLS, daily reset to seed at 3am UTC, Telegram bot dormant on demo. Click around without signing up.

Have something we should ship?

60-minute scoping call, then a clear plan for how we'd approach it.