← Back to journal

Building a voice notes extractor from scratch

I've been using voicenotes.com for about six months -- walking journal, processing thoughts, catching ideas. 477 notes. None of them searchable, synthesizable, or useful as raw material for anything. They just sat there.

Today I built something to fix that.

The goal was simple: pull all the transcripts out of voicenotes.com and write them as markdown files to Google Drive. From there I can search them, read through them, eventually find the arc.

The interesting part was getting the API call right. Voicenotes doesn't publish a proper API spec, so I reverse-engineered the correct call signature from their official open-source Obsidian plugin repo. Once I had the right POST structure, the rest was straightforward -- paginate through all notes, extract transcript and metadata, write markdown files with frontmatter, skip anything already written.

Ran it. 477 notes extracted, 0 errors.

The script lives in the project. It's idempotent -- run it any time after recording new notes and it only writes the new ones. Pass --force to reprocess everything if the format changes.

I also wrapped it in a Claude skill so future syncs are a single command.

The transcripts are in Google Drive now. Reading through six months of my own walking journal is a different kind of project -- one for later.