Verbatim 🌳
Hackathon: Mind the Product: Everyone Ships Now
Live Demo: tryverbatim.vercel.app
Inspiration
Product teams run user interviews constantly. Almost none of them have a good system for what comes after the call ends. You leave the meeting with a wall of transcript, somewhere in there are the real pain points, the recurring patterns, and the exact words your user used — and finding them takes the rest of the week. The interviews are an hour. The synthesis is days. Verbatim flips that ratio.
The bet: AI is finally good enough at structured reasoning that the synthesis step doesn't need to be manual anymore. You shouldn't have to highlight a Google Doc to figure out what your user said.
What It Does
Paste any raw user interview transcript — messy is fine — and Claude maps it into a structured opportunity tree in about ten seconds:
- Problems — the core pain points the user described, surfaced at the top level, each with a severity score, frequency score, sentiment read, and a jobs-to-be-done frame
- Themes — underlying patterns grouped within each problem area
- Verbatim Quotes — exact evidence pulled from the transcript anchored to each theme, attributed by speaker and tagged with the emotion and keywords that put them there
Every node is collapsible. Nothing is summarized, nothing is paraphrased — every claim traces down to the literal line of dialogue that produced it.
Beyond a single analysis, Verbatim gives you:
- A library of every analysis you've ever run, searchable + filterable by project
- Projects that group related interviews into a body of evidence — and a one-click synthesis that rolls up themes across the whole project
- Follow-up questions suggested per problem, so you know what to ask in the next interview
- Export to Markdown for your doc, CSV for stakeholders, or raw JSON for engineering
- 16 sample scenarios spanning product/UX, B2B SaaS, healthcare, education, consumer apps, and internal tools — so you can try it without ever pasting your own data
The promise: a quarter of research becomes a body of evidence. Hours of synthesis become ten seconds. The transcript stays the source of truth.
How I Built It
Architecture
User pastes transcript
│
▼
Next.js 16 Frontend (Vercel)
│ POST /api/analyze
▼
Next.js API Route (Edge runtime)
│
▼
Claude API (claude-sonnet-4-6)
Structured prompt → typed JSON tree
│
▼
OpportunityNode tree rendered via recursive TreeNode component
├── Problem nodes — severity, frequency, sentiment, JTBD, follow-up questions
│ └── Theme nodes — grouped patterns
│ └── Quote nodes — verbatim + speaker + emotion + keywords
│
▼
Auto-saved to Supabase, added to user's library / chosen project
The transcript is sent to Claude with a tightly-typed JSON schema. Claude identifies recurring pain points, groups related quotes under themes, scores each problem on severity/frequency/sentiment, frames it as a job-to-be-done, and suggests follow-up questions for the next interview — all returned as a single AnalysisResult object. The UI renders it recursively via TreeNode with depth-indented L-shaped connectors, mono-uppercase kicker labels, editorial Fraunces italic for quotes, and colored severity/sentiment/emotion chips.
Every analysis is auto-persisted to Supabase, with row-level security so each user only sees their own library. Projects group analyses, and a separate synthesis route runs a second Claude pass across all interviews in a project to roll up cross-interview themes.
Tech Stack
| Layer | Technology |
|---|---|
| AI Model | Claude Sonnet 4.6 (Anthropic) |
| Frontend | Next.js 16 (App Router), React 19, Tailwind CSS, shadcn/ui |
| Typography | Fraunces (editorial serif), Inter (sans), JetBrains Mono |
| Auth + DB | Supabase (Auth + Postgres + RLS) |
| Deployment | Vercel (Fluid Compute) |
| Analytics | Pendo / Novus.ai |
| Resend |
Challenges
- Structured output reliability. Getting Claude to return consistent, deeply-nested JSON for the opportunity tree required a tight schema, explicit "return ONLY valid JSON" rules, and a separate
quotefield distinct fromlabelto enforce verbatim fidelity. Early prompts kept paraphrasing. - Tree rendering at depth. Recursive collapsible nodes with correct L-shaped indentation connectors, depth-indexed glyphs (■ ◆ ●), and chip-row metadata required a self-contained
TreeNodecomponent that keeps collapse state local so it doesn't propagate up the tree. - The visual language. Most "AI dashboards" feel like a Notion table dumped into a div. Verbatim is built around an editorial newspaper-grid aesthetic — Fraunces italic for the quote body so each user voice reads like a story, mono uppercase labels as kickers, and only the severity chips colored so the eye lands on the urgent stuff first. Getting that balance right took more iteration than the AI pipeline did.
- Auto-save without losing context. Every analysis is saved the moment it returns, but the user might be mid-edit on the title or the project assignment. Threading that state through the SPA without race conditions took a stateful
AppShellthat owns analysis + project + selection state in one place.
What's Next
- Multi-transcript synthesis at scale — compare themes across 20+ interviews at once with a single roll-up view
- Highlight mode — click any quote in the tree and jump to that line in the original transcript
- Live audio transcription — drop in an MP3 / Zoom recording, get the tree without going through Otter first
- Team workspaces — shared libraries of analyzed interviews, with assignment + review workflows
- Notion / Confluence export — push the tree straight into your product wiki
- Suggested next interviews — based on gaps in the current body of evidence
Example Transcripts to Try
Any raw interview transcript works — copy one from Otter.ai, Dovetail, Granola, or even a Google Doc. The messier the better. Verbatim ships with 16 sample scenarios across product/UX, B2B SaaS, healthcare, education, consumer apps, and internal tools — click the Load sample → button on the Analyze tab and pick one to see the full tree in action.
Team
Built solo by @kyisaiah47 for the Mind the Product: Everyone Ships Now Hackathon.
Built With
- anthropic
- api
- claude
- css
- next.js
- novus
- pendo
- react
- sdk
- shadcn/ui
- tailwind
- typescript
- vercel

Log in or sign up for Devpost to join the conversation.