All work

Case Study

ThinkGraph

A Meeting Bot that turns live discussions into a structured, searchable Decision Log

Founder — product engineering and system designWeb
Next.jsTypeScriptTailwindReal-time

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.
Product Thinking

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

Architecture

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).