Snoozer Hero

Snoozer

Live in a surveillance dystopia with this innovative Chrome extension that uses AI-based facial tracking to manage your wakefulness and productivity!

context

solo project

role

developer UX/UI designer

timeline

summer 2024 12 weeks

tools

tensorflow javascript html/css

[background]

How is AI changing surveillance technology and the way we interact with our devices?

Through the rise of cameras, microphones, application trackers, mouse/key loggers, and facial recognition, technology has been increasingly used for digital surveillance in academic and work settings. This panopticon environment raises concerns about privacy and mental wellbeing. While surveillance can deter unwanted behavior, it encourages performative rather than genuine productivity, and even exacerbates underlying systemic issues like hustle culture that result in overwork and unproductivity in the first place.

[concept]

Snoozer: An anti-slacking AI/ML application that detects and punishes sleepiness.

I wanted to raise the question: what are the consequences of new AI/ML technologies for digital surveillance—who are they really benefitting? When they solve problems, are they treating symptoms or the cause—or even contributing to them?

Then, I asked: how can I build an application using AI/ML technology that makes things…objectively worse? ‍And thus, Snoozer was born.

Personally, I struggle with attentiveness and maintaining a consistent sleep schedule, which often manifests in me nodding off in front of my computer during a boring lecture or meeting. I wanted to design something that would force me to stay focused by catching me and stopping me when I start drifting away.

snoozer sketch

Sleepy user -> Snoozer sees you! -> Snooze a little too long... -> Rude awakening.

[version 1]

Training on personal facial expression image data didn't allow for a universal user base or capture edge scenarios.

I took photos of myself in various "asleep" and "awake" states and uploaded them to Teachable Machine. Given the scope of the project, I was unable to amass a giant dataset of photos of faces and label them all. Instead, I curated a very clean dataset of my own facial expressions. While it was functional in certain contexts, it was not universal enough for practical use. I deployed this version on Glitch, using p5.js for my webcam processing and interface. This setup was unable to be overlaid on other websites, however.

[version 2]

Switching to Tensorflow.js’s premade Face Landmarks Detection model and deploying Snoozer as a Chrome extension made it universally and easily accessible.

This productivity tool needed to be easily and innocuously implemented into a user's everyday workflow, enabling subtle surveillance. Considering the shortcomings of version 1, I chose to create a Chrome extension because it can be overlaid on browser content, is widely used, and easily downloaded and accessed.

snoozer gif
app structure
Blink detection logic with Face Landmarks
app structure
Chrome Extension app structure

[design]

Snoozer’s branding is whimsical and rounded, creating an innocent facade for its underlying invasive nature.

The vector art plays on the Corporate Memphis style—bland, inoffensive, and commonly used in modern business and tech. By presenting surveillance and data collection as benign and essential for “workplace efficiency”, corporations obscure the ethical and privacy concerns associated with such technologies.

app structure
app structure
Users found it easy to understand the sleep meter. The snooze counter was an excellent way to introduce a sense of shame by reminding the user how many times they’ve “failed”.
app structure
Nonessential options were moved to separate screens for simplicity: one for main adjustments and one for media uploads.
snoozer ux
Users found the full interface distracting over web content, especially seeing their own face. I implemented a movable minimized version showing only the sleep meter.

[user testing]

Knowledge of surveillance deters unwanted behavior, but also causes hyper-awareness and anxiety that interferes with standard behavior.

First-time users were not told that there would be a jumpscare, but instinctively understood that leaving their eyes closed for long enough to fill up the sleep meter was a negative behavior. This anxiety exacerbated by the fact that they couldn’t see the meter increase while their eyes were closed, so they had no idea how much “time” they had left, causing the impulse to open their eyes to repeatedly check.

“Oh my god, I couldn’t fall asleep if I wanted to, but I can’t concentrate on my work either! I’m so scared something bad is gonna happen.” -participant quote

[production]

I deployed Snoozer on the Chrome Web Store and showcased it at the 2025 UT Design Capstone Exhibition.

screen
stickers
ad
Merch and decor designs for exhibition.