Problem
Most interview prep is either a book of generic prompts with no rubric, or a paid mock-interview service. I wanted daily reps against real company decisions, scored against the same dimensions an actual interviewer uses — and a way to turn my own work history into behavioural-interview stories instead of improvising them cold.
The frameworks
Product Sense and Analytical Thinking come from Lenny's Newsletter's published interview guides. Root-cause analysis and AI-product cases have no equivalent published framework, so I wrote both myself — a 7-step RCA structure and a 7-stage AI-product structure whose signature move is that "don't build this as AI" is a valid, scored answer, not a cop-out.
Zero infrastructure, by design
No server, no API key, no LLM at runtime. The library is static JSON; "today's case" is a pure function of the date, computed identically in the browser and in a small Google Apps Script — so the site and the daily email can never disagree about which case today is, and nothing can go down except GitHub Pages or Gmail.
Stories from my own history
My "Experience in Detail" doc — dense prose, not interview-shaped — got converted into 14 structured STAR stories, each anchored to a verbatim quote from the source so nothing got paraphrased into something I didn't actually do. A coverage map cross-references them against the 75 behavioural questions and flags the themes with no story yet as "stories to write," instead of leaving a silent gap.
How I built it — vibe-coded, PM-led
Built solo with Claude Code, planned with Opus and implemented with Sonnet. The product judgment
was deciding what a good case actually teaches — every case anchors to a real, publicly verifiable
company decision, and any number that isn't public is explicitly tagged as an interviewer
assumption rather than presented as fact, so studying the library never means memorizing an
invented metric. I drove the framework design, the fact-verifiability rule, the day-selection
architecture, and the site's status-tracking model, then iterated against the built library and a
full local click-through before publishing.
Biggest challenge: keeping 159 cases factually honest — every
case had to separate what a company actually, verifiably did from what the exercise merely assumes for
the sake of the drill.
Skills this build demonstrates
Product JudgmentInterview Framework DesignContent ArchitectureGoogle Apps ScriptClient-Side StateVibe Coding (Claude Code)Opus-Plan / Sonnet-Build