Inspiration
Our team loves the gym, anime, music, books, and long walks outside, and we all share the same problem: we know which habits make us better, but we skip them the moment life gets busy. Most habit trackers are easy to ignore because nothing happens when you miss a day.
Anime and RPGs gave us the answer. In those stories, characters grow stronger through daily training, and there are real consequences for slacking off. We wanted an app that treats your real life the same way: every habit is a quest, every day counts, and your character's fate depends on you.
What it does
Level Up turns self-improvement into an RPG.
- You choose at least 10 areas of your life to improve, like strength training, studying, cooking, or reading, and pick a starter character.
- Every day, Gemini writes 3 personalized quests that get harder as you rank up.
- Completing a quest earns coins and a material from that category. Quests are verified by a photo (checked by Gemini) or by camera-based vitals from Presage, and verified quests drop bonus materials.
- Completing every quest in a day earns EXP, which raises your level and your rank from E all the way to S.
- Fill every category bar and collect the materials to trigger your character's second awakening, a permanent transformation with a new voice.
- Skip a day, and your character is banished to the Rift: you lose EXP and coins, your streak resets, and your entertainment is locked for a while.
- The whole journey is narrated as a story, written by Gemini from your real progress and performed with ElevenLabs voices.
How we built it
- Frontend: React (Vite)
- Backend: Node.js and Express, with all game logic on the server
- Database: MongoDB Atlas with Mongoose
- AI: Gemini for quest generation, photo verification, and story chapters; ElevenLabs for narration
- Sensing: Presage for heart rate, breathing, and focus
- Auth and hosting: Auth0 for sign-in, Vultr for hosting, and a GoDaddy Registry domain
We kept every game rule as a small, pure function so we could unit-test the economy. For example, leveling up from level $L$ takes
$$\text{EXP}_{\text{next}}(L) = 100L$$
and a perfect day with a streak of $s$ days earns
$$\text{EXP}_{\text{day}}(s) = 50 + \min(10s,\ 100)$$
so a player who never misses reaches rank D in about 10 days. Missing days in a row gets more painful: on the $f$-th failed day in a row, your character is banished for $f$ hours and loses $50 + 25(f - 1)$ EXP, which can even drop your level and rank.
We also built a demo mode that can skip to the next day, fail a day, or fill the bars, so we can show a rank-up, a banishment, and a second awakening in under three minutes.
Challenges we ran into
- Presage has no web SDK. Its SDKs target Android, iOS, and C++, so we [built / planned] a small companion app that measures vitals and sends them to our backend.
- A web app can't block other apps. Real app blocking needs native phone permissions, so for the hackathon we simulate the lockout with a full-screen Rift screen.
- Balancing punishment. Losing levels and rank makes the game exciting, but too harsh and people quit. We added floors: you never drop below level 1, and materials and your awakening can never be lost.
- Setup struggles. Connection strings, placeholder passwords, and duplicate settings in
.envfiles cost us real time, and we learned the hard way why secrets must never be committed to Git.
Accomplishments that we're proud of
- A complete game loop: sign in, complete quests, earn rewards, rank up or get banished, and awaken.
- A tested game economy where every rule is a small function with unit tests.
- A story that's generated from each player's real progress, so no two journeys sound the same.
What we learned
- How to design a backend around clear API contracts so the frontend and backend could be built in parallel.
- How to use MongoDB Atlas, Mongoose, and environment variables safely.
- How to use Git branches and pull requests as a team.
- That game design is a balancing act: rewards and punishments both need numbers you can tune.
What's next for Level Up
- A native phone app (React Native) with real app blocking.
- More characters, categories, and story arcs.
- Friends and shared quests for the socializing category.
Built With
- anime
- tasks
- todo
- wellness
Log in or sign up for Devpost to join the conversation.