Inspiration
We are international students at Stevens Institute of Technology. Between visa paperwork, culture shock, academic pressure, and being thousands of miles from home, stress is not an occasional thing — it is a constant. We noticed that our mood, our sleep, how much we moved, and how well we could focus were all connected, but we had no single place to see that picture clearly.
Most wellness apps are either too generic, too expensive, or built for people who already have their habits figured out. We wanted something honest and simple: how am I actually doing this week, and what one thing can I do today to feel better?
We built MindMesh for ourselves first — and then for every student navigating a new country, a new language, and a new life, all at the same time.
What We Built
MindMesh is a gamified wellness companion that brings mood, focus (Pomodoro), micro-breaks, exercise, and sleep into one app. At its core is the Wellness Score — a 0–100 composite score across five pillars:
$$ \text{Score} = 0.30 \cdot M + 0.25 \cdot S + 0.20 \cdot E + 0.15 \cdot F + 0.10 \cdot C $$
Where \( M \) = Mood, \( S \) = Sleep, \( E \) = Exercise, \( F \) = Focus, \( C \) = Consistency (streak).
The score identifies your weakest pillar, adapts its coaching message to your current state, and gives you one concrete action to improve it — no black-box AI, no data leaving your device without your consent.
To make building habits feel rewarding, we layered in XP, levels, streaks, and badges — tuned for mental health, not productivity. A bad mood day still earns XP. Rest counts. Recovery counts.
How We Built It
- Flutter for a single codebase that runs on iOS and Android
- Provider for state management; all wellness logic is pure Dart with no network dependency
- Node.js / Express / MongoDB for the local backend with JWT auth, Redis caching, and Swagger docs
- Firebase (Auth + Firestore + Cloud Functions) as an optional cloud backend behind a single config flag
- Offline queue so mood, sleep, and exercise logs are never lost without connectivity
- Accessibility built from day one:
Semanticslabels on every element, 48 dp touch targets, full dark mode, haptic feedback
Challenges We Faced
Making gamification feel supportive, not punishing. Early versions penalised missed days harshly. We rethought the XP model so that logging a difficult day is still rewarded, and streaks are motivating without being anxiety-inducing.
Dual backend without splitting the product. Supporting both Node and Firebase from the same Flutter codebase required clean service interfaces. Getting that boundary right took several refactors.
Offline-first reliability. Students log moods in class, on the subway, or in bed. We built a pending-sync queue so data is always saved locally first and synced when connectivity returns.
Scope discipline. We had ideas for dozens of features. Keeping the core loop — log something, see progress, feel motivated — tight and working well was harder than adding features.
What We Learned
- Wellness UX is fundamentally different from productivity UX. Copy, colours, and feedback loops that work for task managers can feel harsh in a mental health context.
- Accessibility makes products better for everyone. Implementing screen reader semantics forced us to simplify labels and navigation — which improved clarity for all users.
- Separating what the app does from where data lives made both backends cleaner and the submission story simpler.
- The best feature we built was listening to ourselves. We are the users.

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