1. Overview
Momentum is an IoT-enabled office stool paired with a web dashboard, built to counter the sedentary habits of office work through ambient social feedback rather than private data-tracking. It was my graduation project for Communication & Multimedia Design (minor Intelligent Environments, IoT-design and design-ethics focus) at the Amsterdam University of Applied Sciences, supervised by Harold Konickx and built in collaboration with the Amsterdam startup Healthy Workers.
The concept has three parts: a physical object (the Buoy, the stool itself), a web application (a “quantified self” dashboard), and a social signal, an LED strip that makes a person’s sitting behaviour visible to their colleagues, not just to themselves.
2. Problem & design ethics
The brief, received from Healthy Workers in spring 2018, sat on top of a body of ergonomics research the project takes seriously: the Dutch national institute for public health found that the average office worker sits 10.1 hours a day, spending 77.0% of a workday seated [@rivm2015], out of roughly 2.3 million people working in Dutch offices [@stijnenbosch2015]. Morris’s classic study linked physical inactivity to heart disease in a cohort of 3,800 British men [@morris1958]; Pandey, Usman, and Sushil tie sedentary time directly to cardiovascular risk [@pandey2016]; Thorp and colleagues found prolonged sedentary time persists across both office and non-work contexts [@thorp2012]; and reported musculoskeletal-disorder prevalence among office workers rose from 21% in 1995 to 48% in 2015 [@middlesworth].
The design-ethics angle was just as central as the health data. Existing sensor-driven wellness products, Herman Miller’s Live OS is named directly, were criticised for a panopticon effect: sensors that report a worker’s behaviour one-way, upward, to their employer. Momentum was deliberately built as the opposite of that: a behaviour-change tool driven by intrinsic motivation, drawing on Lechner’s ASE model (Attitude, Social influence, Efficacy) rather than managerial monitoring.
3. Concept
The physical base is the Buoy, an existing stool designed by studio de Enrichers around a rounded, domed foot that forces the sitter to balance, encouraging a straight back and constant small corrective movements rather than a fixed slump. I adapted it with sensors and ambient feedback rather than designing the seat from scratch:
- A force-sensitive resistor under the seat detects presence and sit duration.
- An IMU (gyroscope and accelerometer) measures in-chair movement, the small corrective motions the domed base is designed to provoke.
- An LED strip around the seat rim lights one further LED for every five minutes spent seated, coloured by the quality of that sitting (how much in-chair movement occurred).
That LED signal is the project’s central design decision: it’s visible to coworkers sitting nearby, not hidden inside a phone notification. Making the signal social, rather than private, was the direct answer to the panopticon critique above: colleagues, not a manager’s dashboard, become the ones who might nudge someone to stand up.
The companion web app, a Create React App project styled with IBM Plex, mirrors that same signal back to the user across three views matching the health literature above: sit-stand variety, in-chair movement, and sitting posture.
4. System architecture
The sensor firmware runs on Node.js via the Johnny-Five robotics framework rather than raw Arduino C++, a deliberate pivot made partway through the build (see §5) once the CSV-driven React dashboard made a shared JavaScript codebase worth it. The force sensor reads on pin A1; the IMU is an MPU6050 on I2C address 0x68; in-chair movement is scored over a rolling 10-sample window, and if that rolling total drops below 200, a relay-driven lamp switches on as a first, quieter prompt before the ambient LED signal escalates.
flowchart LR
fsr(["Force-sensitive resistor · pin A1<br/>presence + sit duration"]) --> js(["Johnny-Five · Node.js<br/>rolling 10-sample window"])
imu(["MPU6050 IMU · I2C 0x68<br/>in-chair movement (yaw rate)"]) --> js
js -->|"in-chair movement < 200"| relay(["Relay-driven lamp · pin 10"])
js -->|"every 5 min seated"| led(["LED strip around seat rim<br/>ambient social signal"])
js -->|"presence, icm"| csv[("data.csv")]
csv --> app(["React dashboard<br/>Sit-Stand Variety · In-Chair Movement · Sitting Posture"])
Hardware and software are bridged through that CSV file rather than a live socket or API, a pragmatic choice for a graduation-timeline prototype. A later architecture, moving to Firebase and an Express layer talking to the Arduino over HTTP, was planned but never fully built out.
5. Development process
The project followed the Double Diamond design process (Discover, Define, Develop, Deliver). From roughly 200 commits across the build:
- March to April 2018: literature review (ergonomics, sedentary-work research), first pitch to Healthy Workers, field research and interview mock-ups.
- June to July 2018: job-story ordering and a physical prototype built for Feedback Frenzy, an internal peer-review presentation on 3 July.
- September 2018: the React dashboard’s UI and IBM Plex styling take shape, alongside the first sitting-signal logic.
- 1 to 3 October 2018: Groenlicht (“green light”), a formal assessment gate, presented with a finished prototype and full documentation.
- 4 to 16 October 2018: a deliberate pivot away from Processing and C++ toward Johnny-Five and JavaScript for the sensor firmware, and the final sensor-to-dashboard data pipeline.
- 18 October 2018: the last commit, tagged simply: finalising the demo for Dutch Design Week.
6. Presentation
Momentum was shown at three escalating stages: an internal Feedback Frenzy critique, a formal Groenlicht assessment, and finally Dutch Design Week in Eindhoven, which the project was pitched into directly. Across all three, the same working prototype, the sensored Buoy stool paired with the live dashboard, was the exhibit; there was no separate gallery presentation beyond the functioning object itself.
7. Reflection
The project’s more interesting result isn’t the sensor pipeline, it’s the design-ethics stance it took on where feedback should live. Sedentary-office data is easy to collect and easy to turn into a manager’s dashboard; Momentum’s answer was to keep that signal ambient, social, and voluntary instead, betting that a coworker’s glance at a glowing seat rim does more for behaviour change than a private notification ever could.