Inspiration
Americans aged 15–24 now spend about 70% less time with their friends than they did two decades ago, and the average American spends 24 more hours alone each month. Alone, attention leaks: after a distraction, the average person takes over 20 minutes to return to what they were doing. In a library, the person across the table keeps you honest without saying a word. At your desk at 1am, no one is there. We built WYD so that someone is. Don’t drift alone. Use WYD.
What it does
WYD is a personalized group focus app that helps you hold your friends accountable through AI-assisted distraction detection and starts a group video check-in call when anyone is off task for an extended period of time. It works in 4 stages:
- Start a group work session and invite people to it.
- Everyone picks what they're working on. e.g. developing an app, studying for a bio midterm, applying to internships.
- Work as usual! If you drift for a couple of minutes, your friends pop up on a quick check-in video call and see what pulled you away. Then everyone gets back to work.
- Take actually productive breaks, talking with your friends instead of going on your phone.
How we built it
We built WYD!? as an Electron Desktop app using React, TypeScript and Tailwind. The app consists of a main window for sessions and a transparent overlay that keeps the focus dock and check-ins floating over the user’s content. SpacetimeDB is our real-time backend that stores sessions, goals, and everyone’s current status (focused, drifting, unfocused), and it runs a shared Pomodoro timer so that every participant stays in-sync. Off-task detection runs in a Python process alongside the app – it reads the user’s active tab with OCR and prompts Gemini to figure out whether the content is beneficial for the user’s goals. At the same time, a MediaPipe and XGBoost model we trained watches the person via webcam for signs of distraction. When one of the signals indicates someone drifting for consecutive checks in a row, the app triggers a group check-in and displays their status to the group. Check-ins run on LiveKit, which streams the off-task person’s webcam and the app they drifted to. We worked in parallel on separate branches for the interface, detection, and database, and then merged them into main, using shared docs and AI coding tools to keep the pieces together.
Challenges we ran into
Our first peer-to-peer calls only worked on the same Wi-Fi (didn’t work too well in the venue…), so we moved calls to LiveKit Cloud. We also had some trouble fine-tuning the model and classifier to determine whether or not someone was actually off-task. Merging four fast-moving branches was also painful, especially when one teammate changed a database schema that crashed everyone’s builds.
Accomplishments that we're proud of
We’re proud that WYD!? works end-to-end in real-time across devices. This was our first time doing computer vision with webcams, training on an XGBoost model, and building live video calls, and all three work together in a single app. And we built it by merging 4 people’s work into one app in a single weekend.
What we learned
We learned how to use a webcam for computer vision, build live calls, and engineer agents that screened each user’s goals. We also learned how to coordinate a fast-moving team by keeping a shared backend in sync, merging overlapping branches, and avoiding pushing .env files.
What's next for WYD!? (Whatchu Doin)
We want to ship WYD!? as native desktop apps for macOS and windows. We wish to further improve the UI so that the experience is as seamless as possible for users who want to lock in and build friendships.
Log in or sign up for Devpost to join the conversation.