๐ก Inspiration
Inspired by BMO, we wanted to create a fun, emotionally engaging companion that motivates productivity instead of feeling like a strict tool. Most focus apps feel cold. We wanted something that reacts, encourages, and keeps you accountable in a playful way.
๐ What it Does
Lock-In Buddy is a productivity robot + desktop app that keeps you focused using real-time computer vision. It tracks your head pose and detects distractions (like looking away or using your phone), then enforces a strike-based system. If you lose focus too many times, your session ends, and BMO reacts accordingly.
โจ Features
- Real-time focus detection
- Phone detection
- Strike system
- Water trigger hardware
- Pomodoro-style timer
- Achievement system
- Calibration settings
- Desktop notifications
- Live transcription
- AI note generation
๐ ๏ธ How we Built it
We built Lock-In Buddy using a full-stack system combining hardware and software. The frontend is a React + TypeScript app wrapped in Tauri for a lightweight desktop experience, while the backend uses FastAPI with WebSockets to stream real-time focus data. We used MediaPipe and OpenCV for face landmark detection and head pose estimation, with a custom state machine to debounce distractions. We also used faster-whisper and Ollama for live transcription and AI generated notes for users who attend meetings. The physical robot was 3D printed to bring BMO to life and connect the emotional experience with the software.
โ ๏ธ Challenges we ran into
One of the biggest challenges was making detection feel accurate and fair. Raw face tracking is noisy, so we had to design a debounce-based state machine to avoid false positives. Managing real-time communication between the Python backend and the frontend via WebSockets was also tricky, especially ensuring low latency. Another challenge was coordinating the calibration flow so the system adapts to each user instead of relying on generic assumptions. We also ran into a huge problem when the 3D printer we were using broke midway. We had to quickly search for other alternatives, and eventually found another 3D printer on campus.
๐ Accomplishments that we're Proud of
Weโre proud of creating a system that feels both technically robust and genuinely fun to use. The real-time detection pipeline, WebSocket streaming, and strike system all work seamlessly together. We also successfully blended hardware and software by bringing BMO into a physical form, making the experience more engaging than a typical productivity app. Seeing BMO come alive was also extremely gratifying.
๐ What we Learned
We learned how to build a real-time AI-powered system end-to-end, from computer vision and state machines to frontend synchronization. We also gained experience designing around human behavior, balancing strictness with usability so the system motivates rather than frustrates users. Additionally, we got to try 3D printing for the first time and learned a lot about the process of printing, sanding, and painting various models.
๐ฎ What's Next for Lock-In Buddy
Next, we want to expand BMOโs interactivity with voice, expressions, and more dynamic reactions. We also plan to improve detection with more advanced models, add cloud sync and analytics, and explore integrations with other productivity tools to make Lock-In Buddy a complete focus ecosystem. BMO will be in everyone's homes.
Built With
- fastapi
- mediapipe
- ollama
- opencv
- python
- react
- rust
- tailwindcss
- tauri
- typescript
- whisper




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