
Stack
Figma, VisualStudioCode, Claude AI
Scope
Research, UI, Visual Identity,
Product Design, Python
Timeline
3 Weeks
Industry
FinTech
Platform
Desktop
Year
2026
Problem
Many productivity tools push users to do more, but nobody is watching out for the health of the person behind the keyboard.
Solution
"How about a walk?"
Cubo is a small floating character living in your desktop, that uses your webcam to detect when you’re actually present at your computer and for how long. It starts a timer and at your chosen interval delivers simple prompts: reminders to look away, stretch, breathe, or simply move. When you step away, the timer resets.

Design Choices
Minimizable, Resizable, Movable
Since Cubo focuses on wellness while fitting around the working user, it encourages and only interrupting in the agreed ways. Occupying only a small resizable space, and is movable.

Seen above is the works-like prototype done on VisualStudioCode. Cubo is meant to seem windowless based on the character chosen!
Looks-like prototype done on Figma seen here.

You’ve been on desk for 6h32m, consider taking a break? I have some stretches for you to try.
Dismiss
Show me what you got!
Cubo & Friends: Lilo, Jan and more!
Different users respond differently to different personalities, finding some more effective than others. A kind and generous Lilo, a neutral and clinical Cubo, and a stern and humored Jan. Based on the next testing, these personalities may evolve or grow in number.



Coding & Function
Visual Studio Code & Claude AI: My python limitations
This project is my early foray into learning python, under a creative coding class. Our instructor noted that vibe-coding only has the word vibe in it to insinuate not knowing what's really up. We were equipped with enough knowledge to flag where things went wrong post-output, and why certain functions are utilized.
How Cubo Works
With camera presence-tracking, and users' decisions on intervals in onboarding and settings, Cubo interrupts with prompts that will only begin counting down when no one is detected on the camera. A list of prompts have to be invented with randomization pathways.
Onboarding prototype can be seen here.
Libraries required to code
Library #1: OpenCV for Presence Tracking
With a webcam-based face-detection found on OpenCV library, which detects the user’s face every 0.1 seconds. A presence timer counts continuous face-time and resets everytime the user leaves. Cubo is coded to detect how long the user is on their desk for, and will interrupt based on the duration the user commits to.
CUBO
X
Rhythm
You can change your choice in Settings anytime.
Next
Back
How long do you want to go before I interrupt?
20 minutes
40 minutes
60 minutes
I don’t know yet
Library #2: Pillow (Python Imaging Library)
Cubo, Jan, and Lilo were illustrations exported as PNG, and needed Pillow to open them and resize them to fit the windows created for Cubo.

User Testing
Functional and Design Future Considerations
Several creative coding classes used an open space by Lincoln Center to get feedback and exchange ideas. Unfortunately, this was the only picture I got from the event, but conversation brought new thoughts:

Functional Considerations
#1: Finding a library that can detect a user’s emotions, elevating Cubo into tracking how a user feels and prompting them to take a break accordingly or sending more appropriate encouragements, and adding to its personality.
#2: Optional screen-locking / persisting presence: if a user doesn’t take the break, Cubo will insist, based on the user’s preference.
Design Considerations
#1: Any prompt given has to have low cognitive-load. For example, if suggesting a stretch to users, the stretch is to be immediately presented with a countdown that brings them back to work.
Functional Consideration #2 in action: Optional Screen Locking
With the help of Claude AI, I decided to work on the screen-locking prototype. Users are unable to continue their work unless they go off-screen for the amount of time they choose. This is optional.

Lessons Learned
Constraints
For this project, I had to prioritize a working output for discussion and future iteration and created personas based on several characters I met during testing. If I had more time, I would have spent more time interviewing a more unpredictable range of people and building multiple user flows, as I would like Cubo to be useful for all.
Takeaways
Gosh, isn't code so cool? Besides learning a little bit of Python and feeling inspired to tackle more, possibly dip into Internet of Things, I was encouraged to think broader; Cubo started inspired by the old Microsoft Assistant, Clippy, which made the process of figuring things out delightful, and I wanted an equally delightful character make productivity easier, but I decided that wasn't enough. Clippy was made to facilitate an existing software, what was Cubo facilitating?
Wellness entered the mix, and the Cubo you see was born.
