Inspiration

As students juggling deadlines, hackathons, internships, and side projects, we’ve all felt the creeping burnout that’s hard to name but even harder to fight. Most mental health apps felt too serious or clinical, we wanted something fun, light, and proactive. After too many late nights debugging and forgetting what sunlight looks like, we realized burnout doesn’t announce itself, it just quietly takes over. We wanted to build something that could catch us slipping before we spiral, using the very data we already generate: our steps, our sleep, our GitHub commits, and our tired faces. Burnout Buddy became our goofy, 3D self-care sidekick, combining real-world signals, AI, and playful visuals to remind us to hydrate, vibe, and breathe before burnout hits too hard.

?What it does

Burnout Buddy is a personal wellbeing dashboard that tracks signs of burnout and helps you bounce back. It:

  • Tracks physical and mental exhaustion using Fitbit data, GitHub commits, and real-time webcam fatigue detection.
  • Calculates a personalized burnout score using sleep, steps, commits, and drowsiness levels.
  • Offers timely interventions like hydration reminders, lo-fi Spotify tracks, and AI-generated motivational quotes.
  • Provides journaling and task tracking to support mindful productivity.
  • Visualizes burnout trends over time with interactive graphs.
  • Encourages self-care before self-combustion — because burnout doesn’t announce itself, it just sneaks in.

🧱 How we built it

  • Frontend: React.js with custom CSS for styling, Chart.js for data visualization, and Spline for 3D embedding. Didn't forget Confetti (because vibes).
  • Backend: Flask API to serve burnout score, quotes (via Google Gemini API), Fitbit and GitHub data.
  • Data Pipelines: Python scripts to fetch Fitbit step/sleep data and GitHub commits, stored in MongoDB atlas.
  • Fatigue Detection: Real-time drowsiness detection using OpenCV, MediaPipe, and dlib for webcam-based eye tracking
  • Database: MongoDB Atlas stores time-series Fitbit/GitHub data and user journal entries securely
  • Spotify Integration: Lo-fi music player powered by randomized Spotify Web Player embeds
  • Burnout Scoring: Custom burnout score calculated from sleep, activity, commits, and fatigue using a weighted formula

🎯 Challenges we ran into

  • Integrating real-time webcam analysis using MediaPipe and dlib in a way that didn’t crash on multiple machines.
  • Merging data from multiple APIs into a clean and meaningful score (averaging is easy, burnout isn’t).
  • Making sure Flask, Mongo, and React played nice — and in sync — without one ghosting the others.
  • React’s spontaneous desire to break when the camera stream said hello.
  • A major CORS and API communication between Flask and React issue that turned out to be not so major (that we still spent 5 hours debugging)
  • Parsing Google Gemini API responses into usable JSON formats

🏆 Accomplishments that we're proud of

  • Built a full-stack wellness app that blends data science, computer vision, and user-centered design
  • Successfully integrated real-time webcam-based drowsiness detection using OpenCV, MediaPipe, and dlib
  • Connected to both the Fitbit and GitHub APIs to gather personal activity data securely
  • Designed a burnout scoring algorithm that combines physical, digital, and visual fatigue metrics
  • Created a clean, fun, and interactive UI with features like Spotify embeds, journaling, and task tracking
  • Visualized personal trends in sleep, steps, and commits using Chart.js
  • ⁠Built a burnout detection tool that we’d genuinely want to keep using after this weekend.

📚 What we learned

  • How to wrangle health, code, and chaos into a meaningful burnout metric
  • Real-time computer vision can absolutely be combined with soft UX to create something empathetic
  • How to use OpenCV, MediaPipe, and dlib for facial fatigue detection
  • How to integrate and authenticate with Fitbit and GitHub APIs
  • How to process and visualize time-series data using Chart.js in React
  • The value of designing experiences that care for the user, not just inform them
  • Sometimes, you really do need to listen to a dashboard telling you to hydrate

⏭️ What's next for BurnoutBuddy

  • Scale to companies as a team wellness tool, offering anonymous burnout trends without compromising privacy
  • Add journaling insights, mood tracking, and burnout trend visualizations
  • Push smart alerts for burnout spikes — think “go outside” or “close VS Code”
  • Integrate calendars and build a Chrome extension that nudges users away from doomscrolling
  • Launch internally for dev teams — then gently expand into the wellness SaaS space
  • Offer personalized recovery suggestions using machine learning trained on individual usage patterns and habits

Built With

Share this project:

Updates