This is a submission for the "Hacktoberfest Weekend Challenge: Build for a Friend" (https://dev.to/challenges/hacktoberfest-weekend-2026-10-01)
What I Built
I built FocusFriend, an AI-powered focus companion for my friend, who often struggles to stay focused while studying.
Most study apps give you a fixed timer and expect you to figure out the rest. FocusFriend takes a different approach: it learns how the person actually works.
The user tells FocusFriend what they want to study, how much time they have, and how focused they currently feel. The AI then creates a personalized focus session with a recommended focus duration, break duration, study strategy, and soundscape.
After each session, the app records things like session length, focus rating, task, and sound environment. Over time, it builds a personal focus pattern and uses that information to improve future recommendations.
The app also includes an AI Soundscape that lets the user mix sounds such as brown noise, rain, library ambience, and white noise, and an "I Can't Focus" mode that helps turn an overwhelming task into a small, manageable starting point.
The goal wasn't to build another Pomodoro timer. I wanted to build something that gradually learns what actually helps one person focus.
How I Built It
FocusFriend is built as a web application using React, Vite, Tailwind CSS, FastAPI, Python, and SQLite.
It generates structured recommendations for:
- Focus duration
- Break duration
- Number of focus blocks
- Study strategy
- Recommended soundscape
The application stores completed sessions and focus ratings so that future recommendations can be based on the user's actual history.
I also separated the AI model from the rest of the application through a model-provider layer. This means the model can be replaced with another open model without having to rebuild the application.
The application has a deterministic fallback when the AI model is unavailable, so the core timer and focus workflow continue to work.
I used Antigravity during development to plan, implement, test, debug, and iterate on the application.
Why Does Open Innovation Matter?
FocusFriend deals with personal information about someone's study habits: what they study, when they study, how long they focus, and when they struggle to concentrate.
Using an open-weight AI model gives the project more control over where this information is processed. The AI can potentially run locally or on infrastructure controlled by the developer instead of making a closed AI API a permanent dependency.
Open models also make the Focus Coach replaceable. I can experiment with different models based on privacy, speed, cost, or hardware requirements without redesigning the entire application.
For this project, open innovation isn't just about avoiding a paid API. It makes it possible to build a more flexible and privacy-conscious personal AI tool around the needs of one specific person.
Live Demo - https://focusfriend-1.onrender.com
Github Repo - https://focusfriend-1.onrender.com
Top comments (0)