My agents worked all night (and broke my app)



Hey Reader,


This week, I started a manager agent before bed, and it worked all night. When I woke up, it had broken a working feature, added weird workarounds for a problem that wasn't real, and dropped the feature.

The feature? Distinguishing between a PiP video close vs. pause in my timer app on iPhone. We had a random 250ms delay to differentiate the two, and removing it broke some behavior. Except the delay wasn't necessary, and the feature was fine before the agents touched it.

This kept happening over the last 7 days while I was at the beach. Agents would fix one bug and break something else. Agents can write code quickly, but they easily break working features. This gets worse with less popular Apple APIs, where there's less sample code and agents have a weaker understanding.

Even if you have tons of unit or UI tests, agents can still cause problem. You need to protect your working code from your agents.

Here are 5 tactics that have helped me.

#1 Focus

For less common APIs or languages, go slower.

This week I delegated too many tasks at once and ended up with broken, non-functional code I couldn't merge. Each time I tested the features with TestFlight builds, there were either unrelated bugs or the feature didn't actually work. It was frustrating, because now I had so many new fires.

You can feel like you're making more progress, but when the agents start breaking unrelated features, it makes managing multiple agents a nightmare.

Use one thread, fully define the task using plan mode, Grill with Docs, or BMAD.

#2 Documentation

Remember the agent that said my feature was impossible?

The next day, I had agents do documentation research before touching code. THe new agent realized it was a bug the agents introduced, not the documented API.

Any time agents use their own knowledge and hallucinate how something works, you end up with spaghetti code that doesn't work right, or is brittle.

After repeat failures, I slow down and make sure the agent is gathering the proper docs using DocSetQuery.

#3 E2E Tests

Agents will happily create unit and UI tests.

That's great for coverage numbers, but many times these tests are very focused and lack end-to-end (E2E) testing. The test will work great with the mocks, but the lack of understanding at the API level leaves you with broken app logic.

I had PiP (Picture-in-Picture) unit and UI tests, and they still don't properly cover the behavior, mainly because PiP only works on the iPad Simulator, not iPhone. It's very easy for agents to break this feature, and I've had to fix it 3+ times at this point.

#4 Centralize Logic

Ask an agent to add another button and it'll gladly create a new function to power that button.

The problem with that is it creates multiple places that all do similar work. So you might fix a bug for the "Reset" button, but there are three other entry points (keyboard shortcut, menu item, and after onboarding).

Make sure your business logic lives in one spot, and that agents have docs that guide them where to look, so they don't create brittle entry points that make bug fixes whack-a-mole.

#5 Be Careful with Code Review Agents

My bug fix for play/pause in PiP mode turned into a 77 file PR, which I still don't fully understand.

Lots of unrelated code changes (multiple days at this point). It's working, and there are lots of new tests, but I don't have time to review all of the changes on vacation. One small fix exploded in complexity.

Agents will easily work on unrelated things, or think they're fixing or cleaning up something else without enough focus. Be more articulate with Sol 5.6, because it seems to have a tendency to try to fix everything, yet it will break other features in the process. This is where regression testing is important.

Try it on TestFlight

Grab the latest TestFlight beta of Super Easy Timer on iPhone or Mac. We're just getting home, so I'll have a new beta this week with Dynamic Island and Live Activities.

Talk soon,
Paul Solt
Paul@SuperEasyApps.com

P.S. If your agents keep breaking your app and you want a second set of eyes on your workflow, I do 1:1 App Strategy Sessions. We'll look at your app and figure out where you should focus. Book a session here.

Super Easy Apps Weekly - Paul Solt

Join 6,727+ iOS/macOS developers using Codex and Claude to build and ship apps. Expect practical tutorials, repeatable workflows, and hard-earned lessons from 7 shipped apps and time at Apple, Microsoft, and GoPro.

Read more from Super Easy Apps Weekly - Paul Solt
Super Easy Timer starts in one tap on iPhone

Hey Reader,You can now use Super Easy Timer on iPhone. I had my agents use the Mac app as a reference and extracted a shared library of code using the Swift Package Manager (SPM). This is the brains of my timer app, and it's shared across iOS and macOS. The MVP worked last week, but it wasn't reliable until I added AlarmKit. That allows timers to persist even if the app is force-quit or the iPhone is locked (just like Apple's system alarms). That was my biggest blocker, and now that it's in,...

Super Easy Timer 2026 downloads.

Hey Reader,My Mac app made $7,900+ over 8 years as a paid app. It made $0 in the three months I gave it away for free. Learn why I made it free, what happened, and what I'm charging next. Read the entire article here. I overhauled the UI this year, localized the App Store Page to 46 languages, and then Apple began featuring it on the front page. Super Easy Timer on the front page (Best New Apps and Updates) Did you know? You can nominate your app to Apple for feature consideration. The Free...

3,158 downloads over the last 90 days because of Apple featuring my app

Hey Reader, Apple featured Super Easy Timer on the front page of the Mac App Store. 3,158 downloads. $0 revenue. That's on purpose. What got me here? Fixing all the papercuts in the original timer app and creating a better onboarding experience caught Apple's attention. That made them feature my app on the front Discover page and on the Work tab in the Mac App Store. Over the past two months, I made huge improvements to the UI and unlocked the ability to use a timer on top of every single...