Inspiration

"Bed rotting" took over Gen Z: spending hours in bed, scrolling, doing nothing. It's usually treated as a joke, but for a lot of people it's a real screen-time trap. Most screen time apps feel like a lecture, so we asked a different question: what if we leaned into the bed rot instead of shaming it? Rotting.app turns doing nothing into something intentional, where you choose to rot and the app keeps the rest of your phone out of the way.

What it does

Rotting.app is an iOS app that helps you rot on purpose. You start a rotting session, and the app blocks the apps that drag you into endless scrolling using Apple's Screen Time tools. When the session ends, you get your phone back. It's built around a Gen Z sense of humor, not guilt. It's available in 13 languages and is a one-time purchase, with no subscription and no ads.

How we built it

  • Swift / SwiftUI for the native iOS app
  • FamilyControls, ManagedSettings, and DeviceActivity to pick apps, shield them, and schedule and monitor sessions
  • Localization for 13 languages from the start
  • One-time purchase through the App Store, with no accounts or tracking
  • [Add anything else: analytics, backend, design tools, AI tools used]

Challenges we ran into

  • The Screen Time APIs are strict. FamilyControls needs special entitlements and Apple approval, and the app-blocking extensions run in a sandbox with very little debugging visibility.
  • Sessions have to keep working when the app is closed. DeviceActivity monitoring works differently from ordinary app code, so getting the timing reliable took a lot of testing.
  • Making it feel fun, not clinical. Tone matters a lot in this category, so we spent real time on copy and design.
  • Localizing into 13 languages without losing the humor.
  • [Add one real story: a specific bug, a late-night fix, or a rejected build]

Accomplishments that we're proud of

  • Shipped a real App Store app, not just a demo
  • Got the Screen Time / app-blocking flow working end to end
  • Launched in 13 languages from day one
  • Built a product with a personality that's clearly aimed at Gen Z

What we learned

  • How Apple's FamilyControls, ManagedSettings, and DeviceActivity frameworks fit together, and where their limits are
  • That in a wellness-style app, tone and branding matter as much as features
  • How to plan localization early instead of retrofitting it

What's next for Rotting.app

  • Streaks, stats, and shareable "rot reports"
  • Customizable session types (lazy Sunday, doomscroll detox, study break)
  • Widgets and Live Activities for active sessions
  • More languages and community features

Built With

Share this project:

Updates

Submission history