This Saturday, June 27, my friend Matt Evans shows how he built and shipped his own mobile apps fast, and then we all build our own, iPhone or Android. Grab your free spot, and bring someone with you. See you there (with a friend or colleague)?
Now, someone left a comment on one of my videos last week telling me that I hadn’t built anything. I talked to a machine, the machine made the thing, so the thing wasn’t mine. A few people piled on. The argument goes like: “if you hire a contractor to build a house, you didn’t build the house.”
They’re right about one thing, and it’s a bigger admission than they expect. The building is easy now. Describe what you want in plain English and a model writes the code. Someone who heard about vibe coding yesterday can have something on a screen by tonight. The barrier that kept most people out for forty years is gone, and it isn’t coming back.
When someone says anyone could do that, they’re correct, and that was the point all along.
What takes thirty years to get good at is knowing which house to build and catching the load-bearing wall before it comes down. The part a model can’t do at all is the rejection: looking at finished work and saying no, that’s wrong, do it again. I do that all day, and you can see it in what I ship.
Yeah, sometimes the true power lies in knowing when to say “no.”
That judgment didn’t fall out of the sky. I’ve spent half a lifetime putting things in front of people and watching what they do with them. Understanding what to cut, and reading the exact moment a real person gets confused, were skills before any of this existed. They’re the ones the tool still can’t bring to the table for you.
Product management is a skill.
Project management is a skill.
Shipping software is a skill.
My work from the last two weeks makes the case better than I can. Every one of them turned on a call the model couldn’t make.
Let’s start with Aetheric Gears, a steampunk machine of brass gear trains turning inside each other, the kind of thing you leave running on a second screen. The gears were the easy part. The background nearly broke me. I wanted real atmosphere behind the machine, and over a couple of days the model handed me one competent miss after another: a sparse grid of pipes, then a dense woven wall of them that looked like junk, then a flat brushed-aluminum plate with no depth, then floating bokeh, then a fake layer of blurred gears that read like cardboard cutouts. Every render was clean. None of them was right, and the model couldn’t tell, because it can’t step outside its own output and feel that something is off.
AI will keep handing you confident, wrong work until someone with taste makes it stop.
I almost didn’t. For a few rounds I caught myself admiring versions that were merely fine, which is the same trap from the other side. What finally broke it open wasn’t a cleverer prompt. I gave up on describing the thing and handed over a reference instead: a Pipe Dream pipe screensaver I’d built months earlier, real 3D pipes with fog and perspective. Why can’t the background just be that? We ported it in live, and the machine finally sat inside a world instead of floating on a swatch. That was a decision about what the piece needed, and I was the only one in the loop who could make it.
Media Convertifly turns plain English into real FFmpeg commands and runs them in your browser, so your files never leave your laptop - and you don’t need to know anything about FFmpeg to unlock its power without installing anything.
The obvious move is to let a language model (LLM / AI) interpret whatever the user types. I went the other way and had it write a plain, deterministic parser, then test that parser as a standalone piece against thirty-two real phrases before a single pixel of interface existed. A converter that guesses wrong is worse than no converter, and the only way I’d trust it was to make it boring and testable on purpose.
The first design the model gave me was the standard AI dev-tool costume: a dark panel stack, fake little terminal dots, an amber gradient button. I told it that was a non-design, in those exact words, and we threw it out and rebuilt the thing as a neubrutalist print-shop work order, bone paper, thick ink borders, hard offset shadows, one electric vermilion accent. Same app underneath. The first version was the average of everything the model had ever seen, and the second one had a point of view, which I had to bring.
Metro Gnome is a metronome with a little animated gnome who keeps the beat for kids (or kidults) who play music. It worked, except at slow tempos the sound disappeared. Somewhere between 41 and 54 beats a minute, clicks went missing. We chased it for rounds: clock drift between two timers, a re-anchoring bug that stacked beats on top of each other, a main-thread stall during slider drags. Every theory was reasonable. Every one was wrong.
Not being a developer was the advantage here, because I stopped letting it guess and made it measure. We put an analyzer on the actual audio output and proved the app was generating correct, accented sound all the way to the speakers. The clicks were real and on time, and nothing came out. Then I reproduced the silence in Chrome and in Safari, identical in both, which cleared my speakers, my browser, and my machine. What was left was the operating system.
macOS was powering the audio hardware to sleep during the long quiet stretches between slow beats, so each click was being played into a chip that had dozed off! The fix is a tone you can’t hear, a low hum under everything, that keeps the output awake (which is a feature I just baked into my always-running custom macOS app that helps me manage the arcade).
And, dang… it took me forever to get this gnome to look halfway decent!
GIF BOY is a webcam GIF camera with a retro shell, a clear wink at a certain beloved gray handheld from yesteryear. Fun to build, and a clean way to earn a letter from one of the most aggressive legal departments in tech. Before it went out, I read through that company’s enforcement history and the rules around nominative fair use, then walked the entire app and pulled every spot where the product was naming itself with a trademark, while keeping the plain descriptive references that are defensible and happen to help search. That is a product decision and a legal one at the same time, made before launch instead of after a cease-and-desist shows up in the inbox. Left alone, a model will stamp the trademarked name through fourteen fields of metadata and let you find out the expensive way.
A house tells you whether the architect knew anything. So does an app. If it’s good, a person made a few hundred small right decisions to get it there, and not one of those came from the tool on its own.
So when someone tells me this isn’t real work, I think about the month I spent crafting 14 new apps (that y’all can play with / see / use). That’s the work, and it always was. The typing was never the hard part, and now it’s barely a part at all.
If you’ve been talking yourself out of building because you can’t code, that excuse just expired. Join me this coming Saturday and start. Better yet, bring the friend who keeps saying they have an idea and no way to make it real. We can fix the second half of that sentence in an afternoon.
What: A free, hybrid AI and vibe-coding workshop for every skill level. This month, learn to build your own mobile app, iPhone or Android - or web apps. No technical experience is required (but those with technical experience are welcome, too).
Featured segment: My friend Matt Evans, who built Trident Tracker and shipped it to the App Store & Google Play Store, on how he shipped fast.
Sponsored by Every.
Cost: Free. Register here. Yes, you can tune into the live stream which is 10% of the experience.
Bring a friend. The most useful thing you can carry through the door is a person who keeps saying “I have an idea but I can’t code.” That stops being true in a day’s time.
Can’t make it in person? Register anyway and join the YouTube or Twitch stream.
Everything from the last few weeks, all free, all in the browser:
Aetheric Gears: Procedural steampunk gear machine that animates endless interlocking brass gear trains. A clockwork art generator with an optional parallax pipes background.
GIF Strips: Animated GIF photo booth and photo strip maker. Your cam shoots looping panels you can filter, caption, and sticker, then export as GIF, MP4, or PNG. No mall required.
GIF BOY: Animated GIF camera with a retro feel to it.Record with filters, captions, and stickers. A free alternative to Giphy Cam. Nothing to install, either.
Metro Gnome: Digital metronome with adjustable BPM, time signatures, subdivisions, per-beat accents, tap-to-set tempo, and a practice timer, kept by an animated metro gnome.
Media Convertifly: Convert 200+ video, audio, and image formats by typing what you want. FFmpeg runs locally in your browser, no upload, no AI, no account.
Gullywash: Make your own island. Watch an erosion filter carve gullies and river drainage in real time, then export a heightmap PNG, 4K render, or 3D-printable STL.
Van Go: A painterly landscape generator. Shape swirling Van Gogh-style skies, water, and hills. Refresh the page to see a different spin (so to speak).
LoopLift: Turn iPhone Live Photos and Android Motion Photos into a GIF, MP4, or WebP. Trim, boomerang, reverse, fit under a size limit. Free, no upload, no watermark.
Oilwheel: Liquid light show simulator. A real-time fluid painting with glowing bloom, oil-projection palettes, presets, custom palettes, and media exports.
Sportsball Stupid: Last night’s game explained for people who don’t watch sports. The score, the star, the big moment, and lines to say at work. NFL, NBA, MLB, NHL, soccer.
A few things from the last couple weeks, on where the ideas and the noise both come from:
One commenter was worried about the environmental cost of AI data centers. I pointed out that an evening of streaming leans on those same data centers harder than I do shipping a small app. Caring about the footprint is fair. The load just doesn’t fall where they think it does, and the worry usually stands in for a different discomfort about the whole thing.
LoopLift exists because it’s weirdly hard to get a moving picture out of your own phone. Apple’s Live Photos sit right there on the device, and prying a plain GIF out of one is a small ordeal. We keep inventing formats that hold your own memories slightly out of reach, then call it a feature. A two-hour side project shouldn’t be the easiest path to your own footage, yet here we are.
Three hundred forty-four apps in, the ideas still come from the most ordinary friction. A friend’s baseball app. A girlfriend’s phone that won’t cough up a GIF. A metronome a kid could watch instead of only hear. Every one came from paying attention to a small annoyance and refusing to let it stand. No roadmap has ever handed me a better one.
See you soon?
Yours Digitally,

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.