Alain SomphoneTrained on Helvetica. Working in TypeScript.
A Sempé-spirit ink-and-wash hero illustration: a single open laptop on a small wooden kitchen table with a steaming ceramic coffee mug beside it; through a window beyond, two or three small warm-yellow lit windows glow faint and distant.

Planned in Claude.ai + Obsidian, built with Claude Code · SplootAudio

SplootAudio

An audio-extraction tool built solo when a dozen alternatives already existed.

My wife asked if I could pull the audio from three videos and transcribe them.

There were probably a dozen tools online that would have done it for her in five minutes. I built my own instead.

Was that a smart use of my time? Probably not. But the videos weren't really why I built it.

Designers around me were building with AI, and I'd been watching from a distance. I knew what good products looked like. I'd been drawing them, arguing for them, and handing them off to engineers for years. What I didn't know was what it actually felt like to build one myself.

That gap had been bothering me. My wife's three videos were just the excuse I'd been waiting for. So I built SplootAudio.

The shift came early, and it was small enough I almost missed it. Building this thing didn't mean I had to become a software engineer. It meant I had to direct one. A non-human one. The way I'd collaborated with engineering teams for years. Tell it what to build and why. Let it figure out the how. Keep the product whole through every iteration.

That's a design job. I'd been doing it my whole career.

I just hadn't been doing it with an AI on the other end of the conversation.

Once that settled, the work moved fast. Seventeen days from first commit to a deployed working product. Two decisions stand out.

The first was authentication. Day 1, I built it with password auth. Day 2, I rebuilt it with Google OAuth, the more “professional” option. Day 3, I deleted all of it.

SplootAudio was a utility. It stored nothing for more than an hour. There was no account to recover. Nothing to gate. No real reason to ask anyone for an email address. Every signup form is friction, and friction in a tool you'll use once or twice is enough to lose people.

So two complete auth systems went in the trash in three days. And I didn't feel bad about it.

The second was the design system.

Early on, I'd asked Claude to help me build something based on the work of Dieter Rams. We called it Brauncore. Muted mid-century colors. A clean type scale. Buttons and forms that felt considered. In isolation, it was beautiful, the kind of thing I'd have framed and put on the wall.

The Brauncore design system documented as a long single page: a “Less, but better” cover, a muted mid-century color palette, a type scale, an eight-point grid, button and form specimens, and a sample component assembled at the foot.
Brauncore: the Dieter Rams–inspired system, beautiful in isolation.

Then I applied it to the actual product.

The Brauncore system applied to the SplootAudio product: a cream-toned page with a four-step flow indicator, a large bordered drop zone for the upload, and a trim timeline along the bottom — every element at roughly equal visual weight.
The same system on the actual product — beautiful as parts, inert as a page.

It went flat. Not cluttered — the opposite. Bland, thin, no energy. The drop zone, the format options, the trim timeline all sat at the same hushed weight, and nothing stepped forward to lead the eye. Tasteful, and lifeless.

I sat with it for a day, knowing the answer and not wanting to admit it. A design system isn't a layout. A system gives you parts. A layout has to decide which part wins. The Brauncore parts were great. The Brauncore product decided nothing.

So I shelved it and went with glassmorphism: translucent panels, blurred edges, dark animated background. It was what was trending, which is normally a bad reason to pick something. But it had one quality I needed. It created hierarchy almost automatically. The things in focus glowed. The rest receded.

On a first build, most of the taste work goes into making sure the things you see and touch do what they say they will. The Brauncore version of SplootAudio was prettier. The glassmorphism version actually worked.

The glassmorphism redesign of the SplootAudio landing page: a translucent upload panel floating over a dark, animated electric-blue background, with the drop zone clearly in focus and everything else receding.
The glassmorphism rebuild — translucent panels over a dark field, hierarchy almost for free.

If I'd had more time, I would have gone back and rebuilt a design system where the hierarchy came from the system itself, instead of from a trend. I didn't.

Then, the smaller decisions started stacking up. A page-wide dropzone, because small drag targets frustrate people. A three-step flow indicator above the dropzone (Drop your file → Choose format & trim → Download audio), so a first-time user knew what they were signing up for before committing anything. Filmstrip thumbnails on the trim timeline, so you could see what you were cutting instead of guessing at time codes. Snap-to-playhead on the trim handles, so the precise edits were precise without effort. AI transcription as an opt-in toggle, not the default. You came for audio; the transcript was a bonus, not a tax. Multi-format export for the transcript (Copy, SRT, TXT) because people use these in different ways and a tool should meet them where they are. A small real-time progress bar above the audio-ready panel during processing, because a spinner is just a confession that you don't know what's happening. Auto-cleanup after an hour, because privacy by default is the only honest move when there's no account.

The SplootAudio trim view in the glassmorphism design: a video preview panel above a filmstrip timeline of frame thumbnails, with snap-to-playhead trim handles and an “Extract audio” control.
Filmstrip thumbnails on the trim timeline. You cut what you can see, not a guessed time code.

I worked the way I work best: Claude.ai in one window for the thinking, Claude Code in the terminal for the building. The pattern wasn't new. Only the tools were.

SplootAudio shipped as a working alpha. It ran for about a month at splootaudio.com on Railway's free tier. I never advertised it. Analytics showed a handful of people found it and used it. That was always the right size for what it was. A personal experiment that happened to ship.

Then the free tier expired, and I archived it instead of paying to keep it running.

The decision wasn't financial. It was about what the project was for. The alpha had answered the questions I'd built it to answer. I could ship something. I could see a product clearly enough to direct AI through the build. My product instincts didn't go anywhere. Same instincts, different target. Once those questions were answered, paying monthly to keep a personal alpha online wasn't the right kind of commitment.

The code is on GitHub. The README is the rest of the story.

Building with AI isn't becoming an engineer. It's directing one. The work was keeping the product together, even when that meant cutting good work. Deleting two auth systems in three days because the product didn't need them. Shelving a design system I liked when the layout it produced fell flat.

This is design work. The job is carrying the product in your head, deciding what it should and shouldn't be, and saying no to the choices that look like progress and just aren't. The medium is new. The judgment isn't.