Andrew Wagnerdrewag.me
← All posts
Andrew Wagner5 min read

I Stopped Looking at My Code. I Found a Joy of Discovery.

I built a side project, a silly alarm app, without ever reading the code. I lost some control and mastery along the way. I also found a joy of discovery that my careful, controlled programming life had never had.

I've been coding for many years, and using AI as an assistant for a couple of them. Like a lot of people, I feel gaslit by it. It's so smart and so dumb at the same time. So helpful and so anxiety inducing. I wanted to see what would happen if I pushed further instead of retreating.

On a side project, I tried something I'd never let myself do on real work: I stopped looking at the code altogether and learned something I didn't expect.

The Project#

I know an alarm clock is the most boring app in the world. You set a time. It makes a noise. There's nothing left to invent. But something nagged at me every time I set one. Apple's app gives us precision down to the minute when we almost never need anything finer than fifteen. That's dumb.

What if you could flick out from an hour button in the four cardinal directions and set the time in a single motion?

That's what got me started. The value and the joy I ended up finding were completely different, thanks to vibe coding and a healthy dose of critical feedback from my friend Yooni.

The Evolution#

Original design

My original app was a clock ring with the flick I'd imagined. It worked, but the design was bland and smelled of AI slop.

So with a quick ask of AI plus a few tweaks, I added a starry background.

It still felt thin, so a few iterations later I had the silhouette of some trees that didn't feel too cartoonish.

Already this was something I'd never have pursued before. I'd have gone hunting for a graphic, or tried to make one and given up. But now I had AI.

Added a starry background

I honestly kind of fell in love with the look of it, and I excitedly had Yooni take a look. Three pieces of her feedback stuck with me:

  1. The flick gesture was completely undiscoverable. The gesture I built the entire app around was inconsequential. (I still haven't solved it).
  2. She often sets backup alarms but then they end up going off at inopportune times.
  3. The AM/PM toggle is easy to miss. Maybe the screen should just look like daytime when the alarm is set for the morning.

That third note is where it got particularly interesting. Had I been writing this by hand, I'd have made a single daytime version of the image and toggled between the two at a couple of fixed times.

With AI I went much more ambitious. Represent the full spectrum of the day, dawn through dusk, based on the user's actual sunrise and sunset for their rough location. Then map the sun, moon, and stars across the sky as if you were looking through a south-facing window.

Terrible day view

The first day view was terrible. The trees that made such a great silhouette at night were hideous in daylight.

A bunch of painstaking, surprisingly technical iterations later, I had beautiful trees swaying and clouds blowing in the wind. It was a landscape that genuinely felt alive.

That's when I renamed it from "Awooga" to "Glade." I never set out for this aesthetic. I just delightfully found myself there.

The Lesson#

When I use AI heavily, I lose control and mastery of my own codebase. That's anxiety inducing, especially when a bug shows up and I can't just open the file I already know is wrong.

I wrote more about why I still need to review my AI-written code more often in an earlier post.

That said, I wasn't flying blind. When the drawing broke, I could usually tell from how it failed what was going wrong and point the AI in the right direction, all without opening a file. I wasn't relying on my coding skills, but I was leveraging my experience from doing very detailed work.

More than that, I caught myself saying "this is probably too ambitious, but..." over and over, and I've come to think that exact phrase is a green flag that I'm using AI well. The sun-and-moon cycle, the full-day spectrum: by hand, those were ideas I'd have quietly killed as not worth the effort. Here I just tried them anyway.

So I want to hold both. On my serious projects I'll keep reviewing my code. But I also want to free myself to chase the crazy idea, and bring a joy of discovery that has never been a prominent part my careful, controlled programming life. Because that's where the innovation lies. This time it was a dumb alarm app. Next time it might be my next breakthrough.

The Product#

Glade ended up something I'm proud of. A tiny (and free) app that wakes you to a living sky, with backup alarms and the fast time-setting still tucked underneath for anyone who finds it.

Shipping it surprised me too. I hadn't really touched App Store Connect since Notecards, back before my years at Robinhood. A lot has changed. And yet the old launch nerves showed up right on cue, even for a free app that probably won't get meaningful downloads. There's still something about putting an iOS app into the world that a web deploy has never given me. I didn't realize how much I'd missed it.

Subscribe

New posts on company building, working with AI, and shipping software — straight to your inbox. No spam, unsubscribe anytime.

Or follow viaRSSXBlueskyLinkedIn

I Get More Out of Claude Code by Leaving

I told Claude Code I was stepping out for a while, and it did some of my best work of the week. Here's the trick, and the skill I built so I can reach for it on purpose.

2 min read

I Keep Avoiding the Thing I'm Best At

Burnout made it easy to stop reviewing AI's work, the one thing I'm most valuable for. That left me with a harder question: when am I avoiding something because it doesn't matter, and when am I avoiding it precisely because it does?

3 min read