Developer Tooling AI/ML Desktop App

Meeting Summarizer

A CLI that turns raw meeting audio into an actual summary, then a desktop app I built on top so I'd stop avoiding the terminal step.

Role
Solo builder
Timeline
2026 — ongoing
Stack
Python, Whisper, Claude, Tauri
Platform
CLI + macOS desktop
Original transcript view in the Meeting Summarizer desktop app AI-generated meeting summary in the Meeting Summarizer desktop app

Why I built this

I sit in a lot of meetings, and I usually end up half-listening because I'm too busy taking notes. What I actually wanted was something that could sit in the background, record the conversation, and hand me back a real summary afterward, not a wall of raw transcript I still have to read through myself.

I started with a CLI first, since that's usually the fastest way for me to find out if an idea's worth turning into something nicer.

Building the core (audiocore.ai)

The pipeline is pretty simple end to end: record from the mic or point it at an audio file, clean the audio up, transcribe it locally with Whisper, then hand that transcript to Claude to turn into something structured, a TL;DR, key topics, decisions made, and action items with owners whenever someone's actually named in the conversation.

Running Whisper locally mattered to me. A lot of meeting tools ship your audio straight to a third party's server, and I wasn't thrilled about that for anything work related. With this setup the raw audio never leaves my machine, only the cleaned-up transcript goes out to Claude.

Wrapping it in a GUI

The CLI worked, but honestly I kept avoiding using it because of the terminal step: open a terminal, remember the flags, wait around, then go dig up the output file. So I built meeting-summarizer-gui on top of it, a desktop app using Tauri with a TypeScript frontend and a small Python/FastAPI backend that just calls into the same pipeline underneath.

Now I can record straight from the app or drop a file in, watch the progress come through, and read the summary rendered as actual formatted markdown instead of opening a text file (there's a toggle if I want the raw source). It also keeps the last 20 summaries around locally, which has already saved me a couple times when I couldn't remember which meeting a note came from.

What's next

This one's still very much alive, there's a running roadmap I keep chipping away at when I have time:

  • Speaker diarization, so action items get attributed to whoever actually said them instead of "unassigned"
  • A local LLM mode using Ollama, so the whole pipeline can run without hitting an API at all
  • Waveform playback, so I can click a line in the transcript and jump straight to that moment in the audio