Syed Uzaif/ Product Lab
Index / all experiments
Experiment 03 / Behavioural prototypeConcept / prototype · needs validation

Designing an alarm that requires a real sign of waking up

A mobile product experiment exploring whether physical posture detection can reduce unconscious snoozing while remaining safe and accessible — prototyped in Flutter and documented as a build-in-public series.

Role
Independent — concept, design & engineering
Platforms
Android
Key result
Concept → prototypeDocumented in public
observation symbol
observation
open question symbol
open question
decision symbol
decision
rejected symbol
rejected
progression symbol
progression
result symbol
result
01

Observation

People silence alarms without ever actually waking up.

Stupid Alarm is a behavioural product experiment: an alarm designed to stop only once you show a genuine sign of waking — such as sitting up — rather than one you can silence half-asleep. It's deliberately the most exploratory of my projects, and it's documented as a build-in-public series.

02

Problem

People silence alarms without actually waking — a reflex, not a decision. Standard alarms optimise for being dismissible, which is exactly the failure. The design problem is detecting a real 'awake' signal reliably, without asking users to do anything unsafe or inaccessible the moment they wake.

Context · This is an independent experiment, not a shipped product. The point is to explore a behavioural hypothesis in public — including the parts that don't work yet — rather than to claim a finished feature.

03

Ownership

A solo experiment — everything here is individual work, and the sensor detection is explicitly still exploratory rather than proven.

What I owned

Personally executed

  • Framing the problem and the product hypothesis
  • Prototyping the core interaction in Flutter
  • Exploring sensor-based sit-up / posture detection and its trade-offs
  • Documenting the build publicly
04

Constraints

  • Whatever the alarm requires must be safe to do seconds after waking.
  • It must not exclude people who can't reliably sit up on demand.
  • Sensor detection has to run within reasonable battery limits.
  • Sensor data used for detection should stay on-device.
05

Questions

  • What's a reliable physical signal of 'awake' that most people can perform safely?
  • How do we tell a genuine sit-up from the phone simply being picked up or lying on a table?
  • What's the fallback when detection can't work — and how do we keep it safe, not just strict?
  • How strict can dismissal be before it becomes unsafe or inaccessible?
06

Decisions

Approaches weighed
Motion/accelerometer-based sit-up detectionexploring

Promising, but prone to false positives from simply handling the phone.

Strict dismissal with no fallbackrejected

Detection must degrade gracefully — never trap someone in a ringing alarm.

Accessible alternative to the physical actionchosen

Required from the start, not an optional extra.

Decision 01

Treat this as a labelled experiment (Concept / Prototype), not a finished feature.

Why
Honesty is the point of building in public.
Rejected
Presenting the concept as a completed product.
Trade-off
Less impressive as a claim.
Outcome
The build story is the value while validation is still pending.
Decision 02

Require an accessible alternative to the physical action from the start.

Why
Not every user can safely sit up on demand the moment they wake.
Rejected
A physical action as the only dismissal path.
Trade-off
The 'strict' concept can't be the only path.
Outcome
The product stays usable and safe for everyone.
07

System

  • Core alarm interaction prototyped in Flutter.
  • Exploration of device motion sensors (e.g. accelerometer) for posture detection.
  • Detection framed as a rule strict enough to require a real signal but tolerant of table/handling false positives — still exploratory.
Detection concept (exploratory)
  1. Alarm firessound + wake prompt
  2. Read motion sensorson-device only
  3. Evaluate posture signallooking for a genuine sit-up pattern
  4. Guard false positivesphone-on-table / pick-up rejected
  5. Dismiss or fall backaccessible confirmation path if detection can't run

This flow is a concept under exploration — sensor detection is not claimed as complete.

Content needed — Visual walkthrough

Prototype screenshots and a short muted demo clip → public/images/projects/stupid-alarm/. Add the YouTube dev-series URLs to `links.youtube` and `siteConfig` when ready.

08

Results

  • A working prototype and a public build story that turns the engineering into something people can follow.
  • No effectiveness claims — whether posture detection actually reduces snoozing still needs validation.
09

Accessibility

  • The product must not assume every user can safely sit up the moment they wake.
  • An accessible alternative to the physical action is a first-class requirement, not an afterthought.
  • Safety comes before strictness: the alarm should never trap someone who genuinely can't perform the action.
10

Reflection

What I learned
  • Behavioural products live or die on edge cases — the hard part is a detection rule strict enough to work but safe and accessible.
  • Building in public is a forcing function for honesty about what does and doesn't work yet.
What I would improve
  • Tighten detection thresholds to cut false positives.
  • Design and test the accessible alternative properly, not as a token fallback.
Next steps
  • Add the accessible alternative to sitting up.
  • Run a small user-testing round to see whether the concept holds up outside my own bedroom.
  • Continue the build-in-public series as it develops.

Content needed — User-testing plan

Define how effectiveness will be measured (e.g. snooze rate before/after) once detection is stable — currently unvalidated.