Inspiration

In March 2026 a California jury found Meta and YouTube negligent for designing their platforms to addict young users. It was the first social media addiction case to reach a verdict, and the jury put 70% of the blame on Meta. For the first time a court said out loud what most of us already felt: the problem isn't social media, it's specific features built to keep you scrolling.

That changed how I saw my own phone. I don't have an Instagram problem. I have a Reels problem, a Shorts problem, a "suggested for you" problem. Blocker apps never worked for me because they take away everything, including the part I actually need: messages from friends, a profile I want to check, the accounts I chose to follow. So after a few days I turn the blocker off, and I'm back in the feed.

I wanted an app that removes the addictive features and leaves the rest alone.

What it does

TimeWell opens Instagram, YouTube, X and Facebook inside its own browser and strips out the features designed to hook you, before the page even appears:

  • Short-form video: Reels, Shorts, and the Stories rail
  • Algorithmic feeds: For You, Explore, suggested posts, People You May Know. Every app opens on the people you actually follow.
  • Vanity metrics: like counts, view counts, follower numbers, so nothing is a scoreboard
  • Ads and AI slop: sponsored posts, and AI-generated content found through the platforms' own disclosure labels and generator tags
  • Grayscale mode: takes away the color that makes a feed feel urgent

Your account, your friends and your DMs all stay. Every filter is a switch, so nothing is all-or-nothing.

On top of that:

  • Screen Time shield: for people who want the native apps locked. Opening one sends you to TimeWell instead.
  • Focus sessions: shown on the Lock Screen and in the Dynamic Island
  • Daily goal, sleep window and per-app limits
  • A home-screen widget and a weekly recap
  • A family link: a parent can set and lock filters on a child's phone
  • An ideas board: users vote on which addictive feature to remove next

The app is available in English, Dutch, German, French and Spanish.

How I built it

  • Expo SDK 57 / React Native for iOS
  • The filter engine: before each page loads, TimeWell injects a script into a react-native-webview. The script hides elements using CSS selectors, text matching, ad labels and link destinations, and a MutationObserver re-applies the rules as the page changes during scrolling and navigation. I sign in on the platform's own website, so TimeWell never sees a password.
  • Apple's Screen Time APIs (FamilyControls, ManagedSettings, DeviceActivity), with three app extensions for the shield
  • RevenueCat for subscriptions: a Pro entitlement with yearly, 3-month and monthly plans. The paywall leads with yearly, and monthly and 3-month show a discounted first charge. An access layer decides who gets in, and when RevenueCat can't be reached it lets the user in instead of locking out someone who has paid. Tests cover all fourteen cases.
  • A Node backend for Sign in with Apple, accounts and the shared ideas board
  • PostHog for analytics, with an opt-out in the app

Challenges

  • Platforms fight back. Instagram, Facebook and X change their web markup all the time. I built a script (npm run selectors) that counts what every filter rule matches on the live feeds, so I can tell when a rule has stopped matching anything.
  • Redirect loops. When I send Facebook to the Following feed, it quietly rewrites the address, and the page could flicker between the splash screen and the feed forever. Fixing it took four separate safeguards, including one in the WebView itself.
  • Hiding counts without breaking the feed. Facebook puts the like count inside the button's own label. An early version of the count hider also removed comments that happened to mention a number.
  • iOS privacy by design. Screen Time never tells an app which apps the user picked. TimeWell only gets opaque tokens, so it can't just "block Instagram". I redesigned onboarding around Apple's own app picker instead.
  • Not everything works. TikTok's website stops loading videos inside an embedded browser, and Snapchat refuses the browser outright. Both are listed as "coming soon" instead of being shipped half-working.

What I learned

Addiction is a design problem, so the fix can be a design fix. You don't have to delete the app or rely on willpower. You can remove the specific features built to hold you, one at a time. I also learned that with Screen Time, Apple can be stricter about privacy than the developer wants it to be, and that's a good thing.

What's next

TikTok and Reddit support, Android, and more filters picked by users on the ideas board.

Built With

Share this project:

Updates

Submission history