Skip to content
KB.consultingKB.consulting

Meeting intelligence · SaaS · AI

notulen.online

notulen.online

A meeting intelligence platform: a bot that joins Google Meet/Zoom automatically OR an audio upload, real-time transcription with speaker diarization, then auto-generated summaries + minutes + action items via Gemini. Export to PDF/DOCX/SRT, share links with optional passwords — ready for Indonesian teams.

notulen.online
Meeting intelligence · SaaS · AI
notulen.online
live
10+
parallel meeting bots
5 formats
PDF/DOCX/TXT/JSON/SRT export
12 weeks
MVP build to production
01Puppeteer bot service that joins Google Meet/Zoom/Teams without a painful host-approval dance
02Hybrid transcription — Whisper batch + Moonshine streaming, pyannote diarization
03Structured AI output (summary, minutes, action items) via Gemini — not free-form text
04Real-time collaboration over Reverb WebSocket: transcripts update every 5 seconds
01The story

Context

The client is an Indonesian consulting firm with 20+ client meetings a week. Associates spent an average of 4 hours a week just transcribing and cleaning up minutes. Existing tools (Otter.ai, Fireflies, Tactiq) are English-first, billed per seat at a high price, and their bots often get kicked out of meetings because the name looks unfamiliar. They needed a local platform: Indonesian-first, sensibly priced, and self-hostable for sensitive clients.

Technical challenge

Four overlapping problems: (a) a bot that can join Meet/Zoom/Teams without being spammy — handling permissions, the recording indicator, and exiting gracefully when the host ends the meeting; (b) Indonesian transcription across Javanese/Sundanese/Betawi accents — default Whisper accuracy drops; (c) streaming real-time transcripts to multiple viewers with < 2 seconds of delay; (d) AI output credible enough for formal minutes — a different tone from a casual summary, with decisions, owners, and deadlines.

Architecture

Next.js 16 + Laravel 12 (Horizon queues, Reverb WebSocket broadcasting) + FastAPI Python for Whisper/Moonshine/pyannote + a separate Node Puppeteer bot service. Audio in MinIO (S3-compatible), transcripts + embeddings in MySQL 9, vector search for the knowledge base. Bots scale horizontally: 10 concurrent per worker, the 11th gets a graceful 503 + auto-queue. A ready-made Flutter mobile app for field teams recording voice memos.

Results

MVP live in 12 weeks. Smoke test: 1 hour of audio → transcript + minutes + action items ready in < 2 minutes end to end. Pilot tenants (the consulting firm + 2 Jakarta startups) are onboarded for internal meetings — saving roughly 3 hours per associate per week. Next: native Slack/Notion integration to auto-push minutes to each workspace, plus further Indonesian fine-tuning of Whisper.

02Technical highlights

What made this
project interesting.

  • Puppeteer bot service that joins Google Meet/Zoom/Teams without a painful host-approval dance
  • Hybrid transcription — Whisper batch + Moonshine streaming, pyannote diarization
  • Structured AI output (summary, minutes, action items) via Gemini — not free-form text
  • Real-time collaboration over Reverb WebSocket: transcripts update every 5 seconds
  • Multi-format export: PDF, DOCX, TXT, JSON, SRT subtitles — ready to archive & share
  • Full-text search across meetings + optional knowledge-base indexing

Want to see your idea become something like notulen.online?

Let's talk about
your idea, 30 minutes.

Free Consultation

Start now

Got an idea?
Let's validate it first.

30 minutes, free, no commitment. If we click, we move on to a validation session. If not, we'll recommend someone who's a better fit — still at no cost.