We live in an age of infinite content, yet we still find ourselves staring at a screen wondering what to do. I call it the "Streaming Paradox"—you spend forty minutes looking for a movie and end up watching nothing because the sheer volume of choice is paralyzing. Boredom isn't usually a lack of options; it's a failure of imagination caused by decision fatigue.
I built BoredNoMore to address this specific friction point. I wanted to create a tool that removes the "choice" part of the equation and just gives users a clear, actionable path forward. You can check out the live version here: https://borednomore.getinfotoyou.com
The Problem: Decision Fatigue
When we are bored, our executive function is often at a low point. Asking a bored person to "think of something to do" is actually a high-cognitive task. Most existing solutions either require a long signup process or bury you under categories and filters.
My goal was to build a "no-thought-required" interface. The value proposition is simple: stop thinking, start doing. Whether it’s a creative project, a quick physical challenge, or a weird rabbit hole to explore, the app provides a singular focus.
The Tech Stack
As a solo developer working on the getinfotoyou.com portfolio, I prioritize speed, maintainability, and user experience. For BoredNoMore, I kept the stack lean to ensure near-instant load times:
- Frontend: Next.js (React). I utilized static site generation for the core UI to ensure that the initial paint is almost immediate.
- Styling: Tailwind CSS. This allowed me to build a responsive, clean interface that works just as well on a phone in a classroom as it does on a desktop at home.
- Data Layer: A structured JSON repository of activities. I opted against a heavy database for this version to minimize latency and hosting costs.
- Deployment: Vercel, for its excellent edge network capabilities.
Technical Challenges
One of the main technical hurdles was creating a pseudo-randomization engine that felt truly "fresh." A basic Math.random() on a small array often leads to frustrating repeats.
I implemented a weighted shuffling algorithm and a local state tracker to ensure that once a user sees an activity, it moves to the back of the queue for that session. I also had to balance the "category" logic—if a user wants a creative task, the engine needs to filter the JSON data on the fly without any perceptible lag.
Another challenge was content curation. To make the tool useful, the suggestions couldn't be generic. I had to build a schema that categorized activities by "Energy Level" and "Time Required," which required a bit of custom logic to map user intent to the right output.
Lessons Learned
- Zero Friction is a Feature: The decision to have no signup was intentional. Every click or form field added between a bored person and an idea is a reason for them to close the tab. By keeping it free and instant, the engagement metrics improved significantly.
- Constraint Breeds Creativity: Limiting the user to one idea at a time (instead of a list) actually makes them more likely to do that one thing.
- Mobile-First is Mandatory: For a tool like this, over 80% of users are on mobile devices. I spent more time tweaking the touch targets and CSS transitions for mobile than I did on the desktop layout.
Conclusion
BoredNoMore isn't trying to be a complex social network; it’s a utility meant to help you get off the screen and back into the world (or at least into a better headspace). If you're feeling stuck or just want to try a random challenge today, give it a spin at https://borednomore.getinfotoyou.com.
I'd love to hear your thoughts on the UI or how you handle content randomization in your own small utility projects!
Top comments (0)