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

10 Seconds to Zero: Rebuilding My Translator on Gemini's Streaming API

The old version of TransLee worked. People used it. It just made you wait. The Old Pipeline: Record, Wait, Stitch The original app was built in Flutter, with a Node.js server in the middle talking to OpenAI’s Whisper for speech-to-text and GPT for translation. The flow looked like this: [Record 5-15 seconds] -> [Whisper: speech to text] -> [GPT: translate text, using the tail of the previous chunk for context] -> [Text-to-speech] -> [Play the translated audio] ⬑ repeat, waiting the full cycle each time ⬏ Five to fifteen seconds isn’t a random number. It was a setting I chose on purpose, because shorter chunks meant the translation kept losing the thread mid-sentence, and longer chunks meant a longer wait before you heard anything at all. The fix for the “losing the thread” problem was to keep the last bit of the previous chunk’s text and glue it onto the front of the next one before sending it off to be translated, so GPT had enough context to know what was going on. It worked. It also meant every single sentence arrived several seconds after it was actually spoken. ...

July 14, 2026 · 5 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

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

A Browser Gallery for Choosing Which Moments to Keep

Everything else in this pipeline runs by itself. This is the one part that needs me: looking at the day’s new files and choosing which ones are actually my daughter, worth keeping in her archive. For that I built a small browser gallery. It shows the files waiting on the cutting board, I tap the keepers, and press a button. That’s the whole job. But a few small choices made it pleasant enough to actually use every day. ...

July 13, 2026 · 4 min · VibePapa

The Hourly Check That Quietly Does the Boring Part

There’s a boring step in the middle of this pipeline, and it’s the step that used to kill the whole thing. Photos land on the NAS from two phones. Before I can sort them, someone has to copy the new ones onto the working folder — the cutting board — while skipping everything already handled. That’s dull, repetitive, and easy to forget. For two years, “I’ll copy them over later” was where the process died. ...

July 13, 2026 · 4 min · VibePapa

The Cutting Board: Never Sort Photos Inside Your Backup Folder

This is the post the whole series turns on. Everything before it is the problem; everything after it is possible because of the idea here. For two years I couldn’t sort my daughter’s photos. Not because there were too many — because I was trying to do it in the wrong place: inside the backup folder itself. Why Sorting Inside a Backup Is a Trap My phone auto-backs up to a folder on my NAS. My wife’s phone backs up to another. Those folders are my only copies of my daughter’s baby years. Naturally, I wanted to open them and pick out her best moments. ...

July 10, 2026 · 4 min · VibePapa

Claude Code Login didn't work on my second PC. This is what finally helped me.

I use Claude Code every day on my main PC. It’s the tool I talk to when making apps for my family. It worked well without problems for several weeks. Then I wanted to use it on a second device. This is my daughter’s PC. Sometimes I work on her apps there. Same subscription, same account, everything was the same. I installed the VS Code extension and opened it. Then I saw this error: ...

July 7, 2026 · 4 min · VibePapa

I Fixed the Bug. My Phone Kept Showing It Anyway. (The Caching Trap)

Let me tell you about the bug that made me doubt myself more than any other in this series. I’d fix something — say, a misheard word in a transcript. I’d save the corrected file to the server. I’d open the app on my phone to admire the fix. And the old, wrong word would still be sitting there. So I’d fix it again. Save again. Still wrong. I started to wonder if I’d forgotten how to edit a text file. ...

July 7, 2026 · 6 min · VibePapa

Fire and Forget: Running Hundreds of Paid AI Jobs Without Wasting Money

While working on this project, I had to transcribe and edit hundreds of audio files — 145 at first, later almost 400 — using a paid AI service. Each file cost real money. The whole job took hours, sometimes even overnight. If you’ve ever started a long task where each step costs money, you know the worry. Three problems can happen, and I ran into all three before I learned how to prepare for them. ...

July 2, 2026 · 8 min · VibePapa