-
-
Scroll Survival
-
The village that grows while you are away
-
Start a blocking session
-
Set up automatic routines
-
Blocked apps stay blocked
-
A campfire in the Dynamic Island and the widget when a session is active
-
Unlock early only by beating a challenge
-
Run Home, to save a villager
-
The King arrives after a few sessions
Inspiration
I have spent so much of my time on social media, like TikTok and Instagram, that it feels embarrassing. Other apps that limit your screen time never worked on me, and I just don't like them enough. I can't stay consistent with any of them. I thought as a user and engineer, what are they missing for me to stick?
I wanted a blocker that is fun and engaging. Feels counter intuitive since you want to stay away from your phone but I do think there's a great opportunity for this. Something that turns the time I am not on my phone into something I can actually see, instead of just a chart of how bad my week was or shallow rewards of a Tamagotchi like app that shows you a happy or sad character.
What is Scroll Survival?
On the surface it is an app blocker. You pick the apps that eat your time, you pick how long, and you put the phone down. Every blocker does that part.
The difference is what happens while you are away. A 3D village grows inside the app. Finish the session and something new shows up: a villager, a building, sometimes something you did not expect. It is not always the same thing, so people keep finishing sessions to see what comes next.
- Block apps, categories and websites for a session or on scheduled routines (work, sleep, anything). Start a block from the app, Siri, a home screen widget, Control Center, the lock screen, or your Apple Watch.
- Finish the session and your village grows: new buildings and new villagers, some of them rare, each with a name and something to say.
- Want out early? You have to earn it with a real-world challenge: walk 100 steps, do the 6-7, scan an object, solve some math, or whistle the Song of Time. Your phone checks all of it on-device.
- A story unfolds as you play. A few sessions in, the King arrives. Abandon a session and he might banish a villager, and you get one chance to save them in a runner mini-game.
- A daily streak, holographic achievement cards in four rarities, and a campfire in the Dynamic Island while a session runs.
Available on iOS and Android, in English and Spanish. No account needed.
One rule I never break: village progress is never for sale. The subscription unlocks the features, and everything I add later. How big your village gets depends only on how much you stay off your phone.
How I built it
I am the solo developer and founder. I'm from Mexico and also based sometimes in Austin, TX. Used Claude Code to build 99% of the code. I got 3d assets from open source pages online and I also hired an artist from Mexico to help me do half of the character models in the app, including animations.
More about the project:
- iOS: Swift and SwiftUI. Apple's Screen Time APIs (FamilyControls, ManagedSettings, DeviceActivity) do the blocking. SceneKit renders the village. Vision and CoreMotion check the unlock challenges. ActivityKit for the Dynamic Island fire, WidgetKit for the widget, App Intents for Siri.
- Android: Kotlin and Jetpack Compose, SceneView for the same village.
- RevenueCat on both: 3-day trial, weekly, monthly and yearly plans, regional pricing for LatAm, and retention offers in the Customer Center.
- PostHog is my whole backend. Anything related to analytics I get from here. No server of my own.
- The villagers are KayKit models, plus additional models commissioned from an artist.
- Holographic cards done by me.
Challenges
Views are not installs. My Spanish TikTok series did 4.5 million views in 28 days and about one install per thousand views. The comments told me why. The most repeated one was "¿y para Android?". I had spent two months making people want an app most of them could not install.
Shipping Android in three weeks, alone. I was able to validate that people wanted Android after I got a lot of comments in Tiktok videos like "is this for Android too?" or "guys this is only in the app store :(". I started Android development since August 1st and accelerated it after seeing there was demand. The hardest part was going through the Google play store requirement of 12 testers using the app for 14 days straight before you can publish. I was able to make this work by adding a waitlist link to my tiktok bio and I got ~90 people from 11 countries to join it, and I invited them to be my beta testers. Thanks to all of them I was able to publish the Android app. It went live on September 1, while I kept posting every day. The first week it brought 60% of my new users.
Building blind on Screen Time. Apple's blocking APIs run in extensions you cannot attach a debugger to, the app never learns which app a user picked, and when something fails it fails silently. Two of my worst bugs came from that. 1) iOS quietly blocks nothing once you pick more than 50 individual apps, and a user had to tell me "sometimes apps don't get blocked" before I caught it on my own phone. 2) I have a metric where I measure how long people are completing sessions in my app, I realized I was undercounting about 10x, because sessions that ended in the background never got reported. I found about this while preparing a post that bragged about this number. Both fixed in the open, and now I trust nothing I have not measured twice.
Getting people to pay. A paywall change cut conversion at the paywall to a third of what it was, and I only knew because RevenueCat events flow into PostHog and I read the funnel every Monday. A later version brought it back above the original. With my current user volume (DAU) I cannot run a proper A/B test in a short period of time, so every pricing move is a decision with a kill switch. For example, I added a soft paywall that got onboarding completion from 14% to 50% with no drop in purchases, so it stayed. Weekly plans carry most of the MRR. Retention offers in the Customer Center catch the people that are about to churn.
Accomplishments
Launched August 1. Numbers as of September 29.
- ~1,300 downloads across both stores, and Android has only been live since September 1
- Weekly active users, week by week since launch: 17, 84, 183, 150, 204, 232, 469
- MRR went from $0 to $215, about 25 paying customers. By week: $48, $43, $59, $187, $210, $215
- 13 iOS updates and 10 Android updates inside the window. Everything after 1.0 shipped in public: new real-world unlock challenges, the Dynamic Island fire, the widget, achievement cards, Spanish, the King's story, and the whole Android app.
- Launched Android September 1 with the help of the community I created around the app and my social media content
- 4.7 stars on the App Store, 4.8 on Google Play
- 14K followers on my main TikTok account, multiple viral videos, highest one being at 1M views, 4 out of 5 users come from a Spanish-speaking country
- 300+ hours of phones put down in completed focus sessions.
- A daily post on X since day 1.
What I learned
- Understand the complete funnel from a person watching a video to getting them to start a subscription. There are multiple steps in this funnel and all of them matter.
- Building in public is an amazing way to get bug reports and requests that it would be very hard to get otherwise as a solo builder. The widget exists because someone asked for it in the in-app idea board. Android launch was possible thanks to the support of my community.
- ASO done correctly is a win with way less effort than posting organic content. Knowing what to move in keywords, title, description can move the needle to get more eyes on your app. One experiment of changes in app title and keywords got me from 60 impressions a day in app store to 400 in just a couple of days.
- Weekly plans carry MRR, yearly plans carry cash. You want a good balance of both.
- Posting every day for 60 days is exhausting. It is also the reason anyone knows the app exists. Makes me question, is it worth it tho? I surely think it is now.
What's next
Keep shipping every week and keep posting. Might give me a few days of break from posting after this 2 months grind but I will continue for sure. I think I built an app blocker very different because I can tell a lot of stories with it that will make users want to come back.
The last four weeks added 12 paying customers and about $40 of MRR a week. If the last part of the year, 14 missing weeks, just look like the last 4 weeks I can reach around $800 MRR. For my standards that is low and I've proven I can push myself above my comfort zone. Before the year ends I'm aiming to be at $1k MRR.
Follow the journey
- shipaton build in public story: https://scrollsurvival.com/shipaton
- X: https://x.com/brol1dev
- TikTok main account (Spanish): https://www.tiktok.com/@eric.noscroll
- TikTok spanish brand account: https://www.tiktok.com/@scrollsurvival.es
- TikTok english brand account: https://www.tiktok.com/@scroll.survival
- app's site: https://scrollsurvival.com/
Log in or sign up for Devpost to join the conversation.