// the find
HabitRPG/habitica
A habit tracker app which treats your goals like a Role Playing Game.
Habitica is a habit tracker that wraps task management in RPG mechanics — complete your to-dos, gain XP and gold; skip them, lose HP. It's a full production SaaS running at habitica.com with a large active user base, not a hobby project. The codebase is Node/Express backend with Vue frontend, MongoDB for persistence.
The gamification loop is genuinely well thought out — party quests, gear progression, and social accountability are real differentiators, not cosmetic. The migration archive going back to 2013 tells you this thing has been kept alive and evolved carefully rather than rewritten every two years. Test coverage for the payments layer (Stripe, PayPal, Amazon, Apple, Google) is thorough, which matters when money is involved. The API is documented and stable enough that a third-party tool ecosystem exists around it.
MongoDB was a reasonable choice in 2013 and is now load-bearing technical debt — the migration scripts are doing the kind of schema patching that a relational DB with proper constraints would have prevented. The stack is aging (Gulp, Babel config visible in root) and Vue 2 migration to Vue 3 is either done or still pending; either way it was painful. Self-hosting is not a realistic option — the setup docs exist but the dependency on their specific MongoDB topology and years of migrations makes running your own instance a serious commitment. The no-AI-code policy in the README is a contributor policy, but enforcing it in PR review is essentially unenforceable at scale.