Inspiration
I wanted to build something more useful than a typical mood tracker. It's easy to record how you feel each day, but much harder to understand whether your sleep, mood, and stress are actually connected in a pattern you can act on.
That led me to LifeSignal — a personal wellness pattern-detection app designed to turn daily check-ins into small, grounded actions instead of generic wellness advice.
How I Built It
LifeSignal is built around a Detect → Explain → Intervene → Measure loop.
Users complete a simple daily check-in (sleep, mood, stress). The app stores this and looks for patterns in the user's own history. Gemini then helps explain those patterns and suggests one practical intervention, rather than overwhelming the user with a long list of recommendations.
The frontend is React and JavaScript, the backend is Node.js and Express, and SQLite stores the check-in data. Gemini powers the AI-driven pattern explanation and intervention layer.
The goal throughout was to keep it simple: collect personal signals, find something meaningful, explain it clearly, suggest one small action, then measure what happens over time.
Challenges I Faced
One of the biggest challenges was getting the full application working reliably across the frontend, backend, database, and AI integration. I ran into issues with SQLite's native dependencies, frontend/CDN compatibility, and a server-side bug in the patterns endpoint.
I also had to swap the AI provider partway through development, which meant changing part of the implementation while keeping the rest of the app working.
These problems taught me that building an AI application isn't just about connecting an API — the surrounding architecture, data flow, error handling, and user experience matter just as much.
What I Learned
The biggest thing I learned was how much better an AI feature becomes when it's connected to specific user data and a clear workflow, instead of being used as a generic chatbot.
I also learned a lot about connecting a React frontend to a Node/Express backend, working with SQLite, integrating Gemini, and debugging issues that show up only when several technologies have to work together.
What's Next
If I continue developing LifeSignal, I'd like to make the pattern detection more robust over longer stretches of data, improve personalization, add better trend visualizations, and make the intervention-and-measure cycle more useful over time.
LifeSignal is ultimately about making personal wellness data easier to understand — and turning that understanding into one small action a person can actually try.


Log in or sign up for Devpost to join the conversation.