Inspiration
Study sessions can devolve into frenzied, panicked messes during exam season for many students, especially for students with anxiety, who account for upwards of 55% of all college students. Given the big workloads college, and life in general, brings, it's easy to neglect personal well-being and try to work for long periods of time, forgetting to drink water or take any breaks. Apps that gamify the studying process can help, but often do so in a manner that isn't particularly useful beyond just being a timer.
We built StudBud with the student experience at the forefront, drawing some of our design choices from studies that ranged from the effectiveness of cyclic breathing exercises to the calming properties of foliage colors/iconography.
By reflecting on our team's shared learning experiences and struggles, we aimed to create an integrated hardware and software study companion that could offer support and guidance, leading to better academic habits and physical/mental well-being.
What it does
StudBud guides your study session through steady intervals of focus and break modes. It offers all of the functionality of a traditional pomodoro app, in addition to novel features such as live stress-level tracking and guided breathing to reduce anxiety.
How we built it
We developed a multi-modal stress-tracking system using a Raspberry Pi 4 as the central controller, paired with a camera and an LCD display. Combining hardware and software, StudBud captures real-time video of the user, measures the user's stress levels from facial expressions, and provides visual feedback. On the software side, we used Python to handle camera capture, stress computation, and hardware interfacing, with a Flask API streaming the video to a web dashboard. The frontend uses Node.js and React to display real-time stress levels, encouragement messages, and a timer for study sessions and breaks. The LCD acts as an immediate feedback mechanism, displaying reminders, motivational messages, and performance summaries, making the system interactive.
Challenges we ran into
Installing facial and emotion detection libraries on the Raspberry Pi proved difficult due to limited computational resources and dependency issues. USB camera access was inconsistent, leading to reduced FPS and occasional failures. Networking the Pi over limited Wi-Fi also caused intermittent streaming issues. Integrating multiple components—a camera, LCD, Flask backend, and frontend dashboard—required careful synchronization, especially for real-time updates. Debugging and testing added another layer of complexity, forcing us to rely heavily on remote SSH sessions and terminal-based monitoring.
Accomplishments that we're proud of
We were successful in having StudBud capture and process real-time camera data to estimate stress, and display dynamic messages on both the LCD and web dashboard. Users can now receive reminders to take breaks, see motivational prompts when measured stress levels are high, and view session summaries at the end of their study sessions with measured total study time and breaks taken. The system fully integrates hardware and software, combining real-time sensing, processing, and visualization. Achieving reliable, low-latency communication between the Pi and the web frontend was particularly rewarding, showing that our multi-layered architecture can handle live data effectively.
What we learned
Through this project, we learned a lot about hardware-software integration, learning how to interface sensors and displays with Python and how to handle real-time data processing on resource-limited devices. We also honed our web development skills, building a Node.js/React frontend and connecting it to a Flask API for live streaming. Debugging on the Raspberry Pi taught us to handle installation constraints, manage dependencies, and optimize performance for real-time applications. Beyond coding, we also developed skills in system architecture, designing a pipeline that connects sensing, computation, and visualization across multiple platforms.
What's next for StudBud
Looking forward, we want to enhance both functionality and user experience. Planned improvements include integrating LED indicators for immediate stress cues, refining the user interface for clearer visualization of stress trends over time, and optimizing our detection algorithms by using more robust libraries. We also plan to improve system reliability, addressing livestream FPS and connectivity issues, and possibly incorporating additional sensors to enrich stress estimation. In the long-term, we hope to make StudBud more interactive and personalized, with smarter break suggestions, user-adapted encouragement messages, and data logging for progress tracking, turning StudBud into a comprehensive tool for promoting healthy study habits.
Built With
- figma
- lcd
- opencv
- python
- raspberry-pi

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