Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
A Fathom-style AI meeting notetaker built with Next.js, Deepgram and Gemini.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
A Fathom-style AI meeting notetaker where every AI claim can be checked. Upload a recording (or paste a transcript) and get a synced transcript, summaries in five templates, action items, decisions, chapters, shareable clips and search across every meeting. Anything the AI says points back to the moment it came from, and anything it can't back up is flagged for a person to review.Read the full README ↗A Fathom-style AI meeting notetaker where every AI claim can be checked. Upload a recording (or paste a transcript) and get a synced transcript, summaries in five templates, action items, decisions, chapters, shareable clips and search across every meeting. Anything the AI says points back to the moment it came from, and anything it can't back up is flagged for a person to review.
.agent-logs/ and CAPTURE-TEST.md| The brief asked to try in Fathom | In Fanthom |
|---|---|
| Notetaker joins the call and records | Faked, as the brief allows: upload a recording, or paste a transcript (Fathom exports and "Name: text" transcripts parse). Uploads go straight from the browser to storage, with progress and cancel. |
| Watch the playback against the transcript | Custom player with a conversation waveform (each bar coloured by who spoke, sized by how much was said), chapter ticks, clip and action-item markers, drag to scrub, ±15 s, speed. The transcript follows playback; click any line to jump. |
| Read the AI summary, switch templates | Overview + General, Sales call, 1:1, Stand-up, User interview templates. Each is generated on first use, then cached (~0.2 s). Every bullet links to its moment. |
| Pull the action items | Owner, due date (resolved from the meeting date: "next Tuesday" → a real date), source line. Checked against the transcript (see below), with Keep / Remove for flagged items and a done checkbox. |
| Highlight a moment mid-call | Clips: clip the moment you're at; markers appear on the waveform. |
| Search across meetings | Postgres full-text search over every line (word forms match: "decide" finds "decided"), with a whole-word fallback for very common words, and deep links to the exact second. |
| Share a clip with someone not on the call | Public /share/<id> page that plays only that clip with its transcript; the rest of the meeting stays private. |
| The eight-person, one-hour call | Long meetings are processed in 15-minute windows (more complete notes), chapters scale with length, speakers get talk-time and rename, and speaker separation was measured on an 87-minute, 5-person meeting with hand-annotated ground truth (below). |
| Seed it with real data | Six real meetings: two of my own Meet calls (shared with consent), the AMI corpus meeting, a 112-minute Piers Morgan debate, a three-person science debate and an English lesson. |
Also: decisions and open questions, chapters, speaker rename, meeting rename, likes, sorting (date / length / liked / title), delete with confirmation, a protected sample meeting, loading and error states throughout.
Browser ── signed upload URL ──▶ Supabase Storage (private bucket)
│
▼ POST /api/meetings (responds immediately)
Route handler ─ after() ─▶ Deepgram nova-3 (diarized words)
└─▶ speaker turns ─▶ Gemini notes (15-min windows if long)
└─▶ checks against the transcript ─▶ Postgres
UI polls status (Transcribing → Writing notes → ready), with retry on failure
3.5-flash-lite (fallback 3.1-flash-lite) · Tailwind 4 + shadcn/ui.after() from next/server), so uploads return instantly; an 87-minute meeting finishes in under a minute on Vercel.meetings, segments (one row per speaker turn, with a generated tsvector for search), summaries (per template, cached), highlights (with public share ids). Schema: supabase/schema.sql.3.8-flash returned 503 "high demand" on most calls during setup and took ~23 s even for one word; 3.5-flash-lite scored the same on the eval in ~3 s.The idea I pitched in my application: treat AI output like a fast junior colleague's work, reviewed before it's trusted. So the model must cite a transcript line for every action item and decision, and plain code checks it:
This is the beginning of the README. Read the rest at the original. Read the full README ↗