Inspiration 1 in 3 high schoolers says they have no one to talk to when they're struggling. Schools have counselors, but most students never walk through that door. We wanted to build the thing students would actually use at 11pm when they're spiraling — something that felt like texting a friend, not filing a report.

What it does MoodSpace is a daily mental health check-in app for high school students. Log your mood, write what's on your mind, and get a warm AI response in whatever tone fits — a hype coach, a calm guide, a supportive friend. Track your patterns over time. School counselors see anonymous aggregate trends (never individual data) so they can actually get ahead of problems instead of just reacting to them.

How we built it Vanilla JS, Supabase, Vercel serverless functions, and Gemini for AI — with a 12-provider fallback chain so if one model goes down, another picks up silently. Stripe handles the Pro subscription. No framework, no build step, ships in seconds.

Challenges we ran into Getting Stripe webhook signature verification to work in a serverless environment nearly broke us. Also designing the counselor dashboard so it's genuinely useful without ever exposing a single student's data — that required real thought, not just a checkbox.

Accomplishments that we're proud of We built a product that two completely different users (a 16-year-old at midnight and a school counselor on Monday morning) both actually need. Privacy isn't bolted on — it's enforced at the database level with Row-Level Security. And it all runs without a single npm install on the frontend.

What we learned You don't need a framework to ship fast. And building for a vulnerable audience forces a level of care that makes you a better engineer.

What's next for MoodSpace Crisis escalation detection, parent opt-in views, and school district SSO so this can actually get into the hands of the students who need it most.

Built With

Share this project:

Updates