Skip to content

← Projects

RecapAI

A web app that turns a meeting recording or pasted transcript into structured notes — summary, decisions, action items, follow-ups. Whisper does speech-to-text and GPT-4o the summarization, with a deterministic mock mode so the whole app runs end to end with zero API keys.

Role
Personal project (solo)
Timeline
2026
Status
Published
  • React
  • Vite
  • Tailwind
  • FastAPI
  • Pydantic
  • PostgreSQL
  • SQLAlchemy
  • OpenAI
  • Docker
View on GitHub

Ingest

  • Upload audio

  • Record mic

  • Paste transcript

Platform

  • FastAPI REST

  • SQLAlchemy + Alembic

  • PostgreSQL

    JSONB

AI

  • Whisper

    STT

  • GPT-4o

    summary

  • Mock

    keyless

Out

  • Summary + decisions

  • Action items

  • Markdown / PDF

Highlights

  • Runs with zero API keys

    A deterministic mock provider returns fabricated-but-realistic notes, so anyone can run the full upload-to-notes flow offline. Real OpenAI swaps in automatically when a key is set.

  • Hardened against messy LLM output

    A strict JSON contract in the prompt plus a normalization layer (accepts camelCase or snake_case, strips stray markdown fences, fills defaults) so an off-spec model response never breaks the API.

  • One seam for the model

    Transcription and summarization are separate services, and provider selection lives in a single module with lazily-built clients, so swapping the STT/LLM or adding speaker diarization is a localized change, not a rewrite.

  • Bilingual by design

    Three prompt variants (English, Bahasa Indonesia, and mixed code-switching) selected per request, so Indonesian and mixed meetings get correct, language-aware notes.

Read more on GitHub