Case Study
ThinkGraph
A Meeting Bot that turns live discussions into a structured, searchable Decision Log
01Problem
Async and hybrid teams make decisions across scattered threads, and the reasoning behind a decision — the evidence, the pushback, the open questions — evaporates. ThinkGraph captures the structure of a discussion as it happens and turns it into a traceable Decision Log.
02Constraints
- The capture cannot ask the team to change how they work — it has to fit into the calls and threads they already run.
- A decision record is only useful if it is traceable: who raised what, what supported it, what countered it, what stayed unanswered.
- Built two-person and bootstrapped, in public — scope has to stay ruthlessly focused.
03Approach
- Then (Async Mind Maps, a university-hackathon build): modeled argument threading as a typed graph — nodes (Claim, Evidence, Counterpoint, Question, Decision) and typed edges (SUPPORT, COUNTER, QUESTION, EVIDENCE) — a data structure genuinely suited to the problem.
- Now (ThinkGraph): a Meeting Bot joins a live call as a participant, listens, and builds the argument graph in real time — every point a node, every pushback a branch, every question mapped as it is raised, with no workflow change for the team.
- One-click AI synthesis reads the whole graph: it surfaces tensions, ranks evidence, flags unanswered questions, and produces a structured Decision Log that persists as searchable, attributed records.
The product bet is on structure over transcription — a Decision Log, not meeting notes.
- Positioned for async / hybrid teams specifically, not live meeting note-taking — the value is the traceable structure that survives after the call.
- The typed node/edge model (Claim / Evidence / Counterpoint / Question / Decision) came from the hackathon prototype and carried forward as the product’s backbone — a data-modeling decision made early and validated by keeping it.
04Architecture
Two stages of the same idea, presented as distinct stacks rather than merged: the hackathon prototype (Async Mind Maps) and the live product (ThinkGraph).
- ▸“Then” (Async Mind Maps): Next.js + React, PostgreSQL + Prisma, NextAuth
- ▸“Then”: OpenAI GPT-4o for synthesis, Pusher for real-time collaboration, Upstash Redis for rate limiting
- ▸“Now” (ThinkGraph): Next.js, TypeScript, Tailwind — the confirmed current stack
- ▸“Now”: a Meeting Bot for real-time capture, plus one-click AI synthesis into a Decision Log
05Decisions & Tradeoffs
Started as a university-hackathon prototype (Async Mind Maps, Codex Constructum @ Beaconhouse National University BTECH Fest) and rebuilt it into a live product.
↳The rebuild meant re-deciding the stack rather than extending the prototype, but the core typed-graph model was proven enough to carry forward.
Capture via a Meeting Bot that joins the call, rather than asking teams to adopt a new tool.
↳Less control over the capture surface than a bespoke app, but zero workflow change — the main adoption barrier.
Persist decisions as searchable, attributed records rather than freeform notes.
↳More structure to maintain, but the reasoning behind a decision stays traceable long after the call.
06Outcome
Shipped
- A live product: a Meeting Bot that joins calls and builds a structured argument graph in real time, with one-click AI synthesis into a Decision Log.
- Grew from a university-hackathon prototype (Async Mind Maps) into the current live build.
- Running with a live beta customer — a UK-based IT consultancy using it across three departments (dev, marketing, and design).