Inspiration

I'm a sophomore at ASU. I'd pick up my phone to check one thing and look up an hour later. Everyone around me was doing the same thing, and it was normal.

So I tried what everyone tries. Apple Screen Time first, and I tapped "Ignore Limit" every time. Then I paid for a blocker, and I tapped past that too. The block was never the problem. The problem was that when it stopped me, it left me with nothing to do instead, so I went right back.

That's the idea behind BrainDiet: you feed your body well. Your brain eats too. It should be fed what the person you want to become would feed it.

What it does

BrainDiet blocks the apps that cost you time, then hands you one thing to do toward the person you said you wanted to be.

  • Pick who you want to become. Reading, fitness, building, social, mindful, and more. Each goal gets broken into steps small enough to do today, written around your actual answers ("which book?", "what are you building?").
  • Block what costs you. It uses Apple's Screen Time frameworks, so the block holds at the system level, not inside the app.
  • The shield is the product. When you open a blocked app, it doesn't say "you're blocked." It says what you wanted and what to do right now: "You wanted to be social. Go talk to a stranger." "You wanted to get stronger. Go touch some iron." Every time you take the way out, the next shield speaks to your next goal.
  • Three passes a day. Hold an app to let yourself in for 3 minutes. Sometimes the answer really is "not now."
  • Becoming. It shows what the time you didn't scroll turned into, and moves the date you'll hit your goal closer as you keep going.

One version, no feature tiers. 3 days free, then $4.99 a week or $19.99 once, because people are sick of subscriptions.

How I built it

  • Swift 6 and SwiftUI, iOS 26, built solo across 40 TestFlight builds.
  • FamilyControls, ManagedSettings and DeviceActivity for blocking and usage. Two app extensions: a ShieldConfiguration extension that draws the custom shield, and a ShieldAction extension that handles the taps (passes, and rotating to the next goal).
  • RevenueCat runs every purchase. Both plans live in one Offering with weekly and lifetime packages that unlock a single entitlement. The paywall reads its prices live from the Offering, so prices and currencies are always right without an app update. Restore and the entitlement check are RevenueCat's too.
  • Personalization runs on-device. The plan is built deterministically from your onboarding answers, so it works on any phone with no network call. The step list is capped at three: finish them and you get three more. I kept AI from deciding what you do, because the failure of most AI goal apps is that you end up talking about your goals instead of doing them.

Challenges I ran into

  • Screen Time doesn't run in the Simulator. Every blocking change had to be tested on a real phone through TestFlight.
  • Builds 12 and 13 shipped an empty shield extension. A missing compiler flag compiled the whole extension to nothing, so iOS silently fell back to its grey default screen. I added a guard that makes the build fail instead of shipping empty.
  • Apps are private by design. BrainDiet can't read the name or icon of an app you block; only the system can draw them. Every screen that shows your blocked apps is built around that.
  • iOS 26 added a new permission state that read as "not authorized" until I mapped it correctly.
  • App Store Connect pricing through the API needed every territory set before a product would leave "missing metadata."

Accomplishments that I'm proud of

  • A shield that people want to read instead of fight. It names who you want to be instead of telling you no.
  • A real, working purchase flow on RevenueCat with one honest version of the app, no paywalled features.
  • Getting approved by Apple for the Family Controls entitlement and shipping 40 builds solo.

What I learned

Blocking is the easy half. People don't scroll because they lack willpower; they scroll because the feed fills empty time. If you take the feed away, you have to give the time somewhere to go. I also learned to ship the boring parts right, like extension signing and App Store pricing, because one missing piece breaks the whole thing.

What's next for BrainDiet

  • App Store launch this fall.
  • Launch at ASU first, then U.S. colleges, through creator content about getting off your phone.
  • Smarter steps that learn which ones you actually finish.

Built With

Share this project:

Updates

Submission history