-
-
App icon
-
Add X account
-
Selected X accounts
-
Curated feed from selected X accounts
-
Create a scheduled rule
-
Active and upcoming rules
-
Daily screen time insights
-
Weekly screen time insights
-
Settings
-
Follow the accounts you care about, not the algorithm.
-
Your feed. Your choice. No doomscrolling.
-
Block distractions your way.
-
See what’s blocked and what’s next.
-
Know where your attention goes.
-
See the patterns behind your week.
Inspiration
Joyscroll started with a simple question:
Why should reducing doomscrolling mean giving up the people and content you actually care about?
Most screen-time apps approach the problem by blocking distracting apps entirely. That can work, but social media is not all bad. People still want to keep up with friends, creators, communities, educational accounts, industry experts, and other sources they genuinely value.
The problem is everything that comes with them: algorithmic recommendations, endless feeds, short-form videos, suggested posts, and the constant temptation to keep scrolling.
We wanted to create a middle ground.
Joyscroll is built around one core idea:
Keep the content you love without the doomscrolling.
Instead of asking people to completely disconnect from social media, Joyscroll helps them separate the content they intentionally choose from the endless algorithmic feeds designed to keep them scrolling.
What it does
Joyscroll combines screen-time control with a more intentional way of consuming social content.
Users can block distracting apps such as Instagram, TikTok, X, Facebook, YouTube, and Reddit using customizable rules. They can decide when apps should be blocked, how difficult they should be to unlock, and how much friction they want between an impulse and actually opening an app.
Joyscroll supports concepts such as:
- Scheduled, always-on, and manual blocking
- Different levels of blocking strictness
- Delayed unlocks that make users reconsider impulsive app opening
- Cooldown periods for stronger blocking modes
- Emergency access when it is genuinely needed
- Protection against simply disabling a rule in a moment of weakness
But blocking is only part of the idea.
Joyscroll was designed so users could choose specific accounts they still want to follow and view their posts in a focused feed while the original social apps remain blocked.
Instead of an infinite algorithmic feed, the Joyscroll experience is intentionally finite.
You catch up on what matters.
You reach the end.
Then you move on with your day.
Joyscroll also helps users understand the real impact of their scrolling habits. During onboarding, screen time is translated into things people can more easily visualize, such as days or even years of their life spent scrolling.
The goal is not simply to make someone's screen-time number smaller.
The goal is to make the time they spend on their phone feel intentional.
How we built it
We started by studying existing digital-wellbeing and screen-time products to understand both what already works and where users still experience friction.
We analyzed apps such as Opal, Jomo, One Sec, ScreenZen, BePresent, AppBlock, ReFocus, and similar products, focusing on areas such as blocking mechanics, schedules, strict modes, unlock flows, onboarding, motivation, and relapse prevention.
From that research, we designed Joyscroll around two connected systems:
1. Attention control
The first system controls access to distracting applications. We designed a rule-based blocking model that supports schedules, always-on restrictions, manual sessions, unlock delays, different strictness levels, cooldowns, and safeguards against impulsively disabling restrictions.
On both iOS and Android, Joyscroll can block distracting apps and enforce the rules users create. On iOS, blocking is implemented using Apple's Screen Time technologies, including Family Controls, Device Activity, and Managed Settings, while Android uses its platform-specific capabilities to provide equivalent app-blocking functionality.
2. Intentional content consumption
The second system tackles the reason people often hesitate to block social media in the first place: they still care about some of the content inside those apps.
We designed a curated feed where users choose the accounts they value rather than allowing an algorithm to decide what appears next.
We also designed the feed to have an actual ending.
Features such as configurable feed windows, disappearing older posts, and visible feed completion were introduced specifically to avoid recreating another infinite-scroll product inside Joyscroll.
We created the end-to-end product flows, wireframes, onboarding experience, blocking logic, account-selection experience, curated-feed concept, screen-time insights, and supporting product architecture around this model.
A significant amount of work also went into onboarding.
Rather than immediately presenting users with permissions and settings, Joyscroll first helps them understand their current behavior, think about what they want to change, and choose goals such as:
- Stop losing hours to scrolling
- Keep the accounts I value
- Stop scrolling late at night
- Spend more time on things that matter
Only then does the product introduce the tools that can help them achieve those goals.
Challenges we ran into
The biggest challenge we faced was also tied to the feature that made Joyscroll most different.
Our original vision was to let users select accounts from platforms such as X, Instagram, TikTok, Facebook, YouTube, Reddit, LinkedIn, Threads, Snapchat, and Bluesky, then bring posts from those accounts into one focused Joyscroll feed.
Building that experience introduced a wide range of technical challenges. Each platform has different APIs, post types, media formats, content structures, rate limits, embedding restrictions, and platform-specific rules. We also had to design different post cards and interactions to properly represent content from each platform while still keeping the Joyscroll feed consistent.
Another challenge was cost. The third-party services we explored for aggregating content across these platforms were expensive, so we conducted extensive testing across three different services to compare reliability, platform coverage, content quality, performance, speed, and cost. Finding the right balance between technical capability and a sustainable implementation required a significant amount of experimentation.
But the biggest obstacle was not technical.
It was platform policy.
During development, an early version of Joyscroll was submitted to the App Store and went through multiple rounds of rejection because of the way content from external social platforms was being aggregated and displayed. We also encountered similar policy constraints while preparing the product for Google Play.
Rather than abandoning the idea, we repeatedly adjusted the implementation, content presentation, and overall approach to better align with Apple’s and Google’s requirements.
That process became one of the most important lessons of the project: something can be technically possible while still being difficult to ship.
When a product depends on other platforms, engineering is only one part of the problem. API availability, content rights, third-party service costs, platform policies, and app-store guidelines can shape the product just as much as the code itself.
Another major challenge was finding the right balance between restriction and control.
If users can bypass a block instantly, the feature provides very little value.
If the block is too restrictive, users may become frustrated and disable or uninstall the product entirely.
That led us to think about blocking differently.
The question became less about:
How do we prevent someone from opening an app?
and more about:
How much friction is needed to turn an automatic action into a conscious decision?
That idea shaped much of Joyscroll's blocking system.
Accomplishments that we're proud of
One of the things we are most proud of is that Joyscroll developed into more than another app blocker.
The project gave us a clear product philosophy:
You don't need less of what you love. You need less of everything else.
We designed a complete experience around that idea, from the first onboarding screen to blocking rules, unlock behavior, intentional feeds, feed completion, screen-time insights, and long-term habit formation.
We are particularly proud of the finite-feed concept.
Most social products are optimized around the idea that there should always be another piece of content below the current one. Joyscroll deliberately challenges that assumption.
Reaching the end is not an empty state.
Reaching the end is the feature.
We are also proud that we tested the core concept against real-world platform constraints rather than stopping at a prototype that only works in theory. Discovering limitations through the App Store review process was difficult, but it forced us to confront one of the hardest questions about the product early and rethink how Joyscroll can achieve its mission in a sustainable way.
What we learned
The biggest thing we learned is that doomscrolling is not primarily a screen-time problem.
It is a behavior-design problem.
Most people already know they spend too much time on their phones. Another chart showing three or four hours of daily screen time is rarely enough to change their behavior.
The intervention has to happen at the moment the habit occurs.
We learned that even small amounts of friction can be powerful. A delay of only a few seconds between tapping an app and gaining access can interrupt an automatic behavior long enough for someone to ask:
Do I actually want to open this right now?
We also learned that effective digital wellbeing should not mean maximizing restriction.
Someone spending less time on their phone is useful only if the time they do spend feels better.
That shifted our thinking from simply reducing screen time toward increasing intentional screen time.
The project also taught us to validate dependencies much earlier. If the core experience depends on another company's API, content, operating-system capability, or distribution policy, those constraints are part of the product architecture and need to be investigated from the beginning.
What's next for Joyscroll — Stop Doomscrolling
One of the biggest next steps for Joyscroll is expanding the number of social platforms we can reliably support.
Right now, X is the only platform we can support reliably enough for the curated-feed experience. Our goal is to expand Joyscroll across a much broader social ecosystem.
For Western platforms, we want to support services such as Facebook, Instagram, TikTok, YouTube, Reddit, Threads, Snapchat, LinkedIn, Bluesky, and more.
We also want Joyscroll to eventually support major Chinese social platforms such as Douyin, RedNote, Kuaishou, Weibo, Bilibili, and Baidu Tieba, along with other platforms used around the world.
Supporting more platforms is not simply a matter of adding another integration. Every social network has different APIs, content formats, access restrictions, rate limits, media structures, and platform policies. Each one requires its own technical approach while still needing to feel like part of one consistent Joyscroll experience.
Because of that, an equally important next step is evolving the curated-content model into something that can operate sustainably within the technical limitations and policies of social platforms and app stores.
We want to find an approach that allows Joyscroll to preserve its core idea of letting people follow the accounts they care about without reopening an infinite algorithmic feed, while remaining compliant, technically reliable, and economically sustainable as the number of supported platforms grows.
At the same time, we plan to continue strengthening Joyscroll's screen-time control features. Future work includes smarter blocking rules, more adaptive unlock friction, better screen-time insights, stronger personalization, and improvements to the onboarding experience.
Over time, we want Joyscroll to understand that different people struggle with different behaviors. Someone might lose hours to late-night TikTok sessions, while someone else may instinctively open X or Instagram dozens of times throughout the day.
Joyscroll should eventually help each person create boundaries that match their own habits rather than applying the same solution to everyone.
The long-term vision remains simple:
Give people back control over what they consume, when they consume it, and how much of their attention they give away.
Joyscroll is not about using technology less for the sake of using technology less.
It is about making technology serve your intentions instead of competing for your attention.
Built With
- amazon-web-services
- android-jetpack
- apple-push-notifications
- bullmq
- core-data
- deviceactivity
- familycontrols
- fcm
- ios
- jetpack-compose
- jetpack-datastore
- kotlin
- managedsettings
- nestjs
- postgresql
- prisma
- railway
- redis
- rest-api
- revenuecat
- screen-time-api
- sqlite
- swift
- swiftui
- typescript
Log in or sign up for Devpost to join the conversation.