Case study / 02
Kudoyo
From lightweight performance management for small teams to a private work memory system. Same database lineage, very different product — the original was downstream of the real need.
Phase / 01 Discover
Map the workflow.
The original thesis was that small teams (Hill offices especially) were stuck between spreadsheets and enterprise HR tools like Lattice — they needed something between "annual review in a Word doc" and "$50k/year platform." I interviewed managers, watched first-time managers try to give structured feedback, and built around the gap: lightweight goal forms, manager dashboards, structured feedback prompts. The "Google Forms of performance management" framing tested well in conversation.
Phase / 02 Build
Ship the system.
Version one was deliberately small. React + FastAPI + Supabase Postgres, multi-tenant, CSV upload, role-based forms with autosave, and a manager view that didn't require training. I deliberately did not build the AI features I wanted (Goal Doctor, Manager Assistant) until the base workflow earned its keep — subtraction over features.
Phase / 03 Deploy
Earn trust.
I shipped it to a Senate office and a few small teams, reaching ~50 active users. Adoption validated the "fast and simple" thesis, but the post-deployment usage data told a quieter story: people captured wins and feedback during the year, but the review cycles weren't the part they came back to. Reviews were the obligation; the running record was the thing they actually wanted. That's the data that drove the pivot.
Phase / 04 Compound
Reuse the learning.
I rewrote Kudoyo as a private work memory system — a place to capture wins, feedback, kudos, and project milestones as they happen, and reuse them as resume bullets, self-review paragraphs, and grounded interview stories. The current stack adds Postgres + pgvector for retrieval, an extraction pipeline (gpt-4o-mini) that titles and tags every capture, and an "extraction-on-capture" surface so users see the AI's interpretation while the context is fresh. Same database lineage, same multi-tenancy, very different product — the lesson was that the original product was downstream of the real need.