WhisperX: Free, Local Transcription for Audio That Can't Leave the House

Not every recording I transcribe is a Bible teaching or a home video. Some of it is confidential — calls from a counseling hotline, where people are talking about the hardest thing in their life. That kind of audio can’t go anywhere near a paid cloud API. Not because of cost. Because it isn’t mine to send anywhere. That ruled out Whisper’s API and ElevenLabs — the two services I’d already used and paid for — for this particular kind of file. I needed something that would run entirely on my own PC, touch nothing outside it, and cost nothing per file. My PC has no GPU. Whatever I built had to live with that too. ...

July 19, 2026 · 6 min · VibePapa

What I Kept From the Old App: Sessions, a Glossary, and Nothing Else

Rewriting an app from scratch forces a question you don’t usually have to ask: of everything the old version did, what actually deserves to exist in the new one? What Survived Session saving. Every translated conversation gets stored so I can look back at what was actually said. The old app also had a meeting-minutes mode, hiding the translation, enlarging the transcript, and alternating the background color for each recording segment so a long meeting stayed readable instead of turning into one wall of text. That mode carried over into the new web app unchanged in spirit, just triggered by a CSS class instead of a native screen. ...

July 18, 2026 · 3 min · VibePapa

From Two Phones to a Family Archive: The Whole Pipeline

This is the map. If you’ve followed the series, this ties the pieces together. If you’re starting here, this is the whole system in one view — how my daughter’s photos and videos get from two phones to my eighty-seven-year-old mother’s tablet, sorted by month, for nothing per month. The Whole Pipeline [Dad's phone] [Mom's phone] | | Synology Drive auto-backup (over the internet) | | v v [ Home NAS: two backup folders ] <- never edited | hourly check copies NEW files (skips anything already handled) v [ Working folder: the "cutting board" ] | I open a browser gallery and pick the keepers v [ One "Import" button ] - convert videos to H.264 720p (ffmpeg) - resize photos - file into Year / Month by the file's date v [ Growth archive on the NAS ] | served over a free Cloudflare tunnel v [ Kids Player app -> "My Records" tab ] - tap a month - videos play continuously - photos drift by, gently zooming v [ Grandmother's tablet. Daughter's tablet. ] Every arrow except one is automatic. The single human step is “pick the keepers,” and it takes about a minute a day. ...

July 17, 2026 · 3 min · VibePapa

Month Grid, Continuous Play, and a Gentle Drift Across the Photos

A perfectly sorted archive is worthless if the people it’s for can’t watch it. My two viewers are an eighty-seven-year-old and a two-year-old. Between them, they can’t manage menus, can’t type, and won’t tap through a playlist. So the watching part had to be as close to zero-effort as I could make it. The rule I designed to was simple: pick a month, then sit back. Everything after that first tap should happen on its own. ...

July 17, 2026 · 3 min · VibePapa

Skip What You Already Have: Duplicate Detection Without a Database

Here’s a problem that sounds harder than it is. New files arrive on the cutting board every hour. I sort them in passes, over several days. The automatic check keeps copying. So how does the same photo never get imported twice? No database. One small ledger, plus a cheap shortcut, do the whole job. The Ledger Does the Real Work When the hourly check copies a file onto the cutting board, it writes one line in a small record — a plain text ledger I’ve been calling R throughout this series. ...

July 16, 2026 · 3 min · VibePapa

The File System Is the Database

There’s no database behind my daughter’s archive. No table of photos, no index, no metadata store. When the app needs to know what’s in “July 2026,” it opens the July 2026 folder and looks. That sounds lazy. I’d argue it’s the opposite — it’s the one decision that keeps the whole system simple enough for one person to maintain. How It’s Organized The archive is just folders on the NAS: ...

July 16, 2026 · 3 min · VibePapa

One Button: Shrink the Video, Sort It by Month, Done

By this point in the pipeline, the boring parts are done. New files have been copied to the cutting board. I’ve picked out the ones that are my daughter. What’s left is the step that turns “a pile of selected files” into “a browsable month in her archive.” That’s one button. By now the picker has already moved my chosen files into a hand-off folder. In the app’s My Records tab, there’s a count of what’s waiting in that folder, and next to it a button that says, in effect, bring these in. I press it, and the rest happens on its own. ...

July 16, 2026 · 4 min · VibePapa

Translee : A Real-Time Translator I Built on Gemini Live Translate

I put my phone next to a TV playing a Kenyan news broadcast in Swahili, low volume. My translator picked up the sound and started speaking the English translation back to me as the newscaster kept talking. No 5-second wait. No 15-second wait. The words just kept coming. It’s a Progressive Web App: open the link on a phone, add it to the home screen, and it behaves like a native app, no App Store or Play Store involved. ...

July 14, 2026 · 3 min · VibePapa

Your Phone Saves H.265. The Browser Wants H.264.

The photos were easy. The videos nearly stopped the whole project. A video of my daughter would back up to the NAS perfectly, and then, when I tried to play it in the browser, I’d get sound but no picture. Or a black rectangle. Or, for the big ones, an endless spinner while it buffered. The file was fine. It just wouldn’t play. Two separate problems were hiding here, and it took me a while to see they were separate. ...

July 14, 2026 · 3 min · VibePapa

The AI Couldn't Recognize My Own Daughter

Here’s the plan I was sure would work: point an AI at a folder of thousands of mixed photos, give it a few pictures of my daughter, and let it pull out every photo of her automatically. No more manual sorting. It didn’t work. And the reason it didn’t work is interesting enough that I want to tell it straight, including the part where I was wrong. The Idea Face recognition is a solved problem, right? Phones do it. The plan was: ...

July 13, 2026 · 4 min · VibePapa