Inspiration
We wanted to build something that speaks to the user emotionally. Apps like Duolingo and the Phantom crypto wallet inspired us with their sleek, human design. They make people feel something, and that is exactly what we were going for. We wanted to increase engagement and retention, so we built an experience that encourages users to come back not because they have to, but because they feel understood. Nathan created an entire minigame section tailored to each emotion, and we integrated Gemini to analyze journal entries and give users meaningful results based on what they share.
What it does
Lumen is a mental wellness companion that listens when no one else does. It invites the user to check in with how they feel through a short guided survey or by journaling freely. Then, it analyzes the user’s emotional state using Gemini and offers gentle guidance through a personalized minigame. These games are designed with therapeutic principles in mind to help the user feel calmer, lighter, or more in control. The app also offers early insights that could indicate potential health issues based on patterns in the user’s input. Over time, Lumen builds a history of how the user feels, how often they log in, and their emotional trends. The design stays minimal to avoid overload while offering a satisfying and comforting UI experience.
How we built it
The frontend is built in React using TypeScript. We used Framer Motion and GSAP to create smooth animations that feel delightful and responsive. Authentication is handled using Clerk, and user data is stored in MongoDB. We integrated Gemini API to provide health-related insights based on emotional surveys and journal logs. The minigames are developed in Unity with C sharp to provide immersive experiences that reflect each emotional state.
Challenges we ran into
Getting the frontend to feel emotionally intelligent without overwhelming the user was tough. We had to find the perfect balance of minimalism, spacing, and colour. Every element needed to feel intentional and soft. Setting up animation sequences with GSAP also came with a learning curve, but once figured out, it added so much life to the UI. Managing app state between journal input, emotion detection, and gameplay paths was also a challenge to organize cleanly.
Creating an immersive and emotionally meaningful experience took a lot more time and care than expected. From designing scenery, sounds, and effects to polishing the visuals, every detail mattered. But the biggest challenge was making the experiences actually helpful since it’s hard to know how someone truly struggling with their emotions might feel interacting with these games. Balancing creativity with empathy was both difficult and essential.
We also faced hurdles with integrating animations smoothly across all screen sizes while maintaining performance. React and GSAP sometimes clashed in ways that required us to rethink how components were mounted and timed.
Another challenge was structuring the backend flow to allow Gemini to process both structured surveys and open-form journal logs without introducing latency. We had to make sure the system was fast enough to feel responsive, but still accurate in the insights it generated.
Accomplishments that we are proud of
We are really proud of how the landing page and emotional flow turned out. The user is guided without friction, and the app feels like it cares. Our authentication, journaling system, emotion-to-minigame matching, and insights dashboard all work seamlessly. We managed to build something that feels gentle and alive.
Nathan built a fully working emotional game suite in Unity that dynamically adapts to different moods. The minigames are intuitive, beautiful, and therapeutic — and they run right inside our React app.
We also pulled off smooth frontend animations and transitions using GSAP and Framer Motion. The result is a UI that feels alive and emotionally aware without being overwhelming.
On the backend, we’re proud of the Gemini integration which interprets nuanced journal inputs and returns emotionally intelligent responses. It bridges clinical insight with an accessible interface, and that felt like a meaningful win.
What we learned
For frontend, less is more. If something is not essential to the user’s decision making or comfort, it can go. Thoughtful use of spacing and subtle motion can speak louder than bright colors or heavy UI. We also learned a lot about structuring emotional interaction flows and building modular game logic that adapts to the user’s mental state.
We learned how to embed Unity games in a React app with minimal latency and clean control handoff. It took trial and error, but we got it working smoothly.
We gained a lot of insight into how to work with LLMs like Gemini in a mental health setting. Prompt design, filtering user input, and returning useful but gentle insights became a balancing act we had to handle with care.
Working together as a team also helped us improve our project structuring, GitHub flow, and division of responsibilities under tight time constraints.
What’s next for Lumen
We want to expand Lumen’s emotional coverage by adding more personalized games, deeper journaling reflection powered by Gemini, and more robust trend tracking so the user can see how their mental state evolves. We also plan to add options to export summaries for therapy or personal growth. Long term, Lumen could be used to detect early signs of emotional or cognitive decline and help users seek support before issues escalate.
Built With
- c#
- clerk-api
- framer-motion
- gemini-api
- gsap
- mongodb
- react
- typescript
- unity


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