Touch and Bloom
A web homage to the installation
Touch and Bloom is an interactive installation by a team of three. Touch a living, flowering stem and a lavender made of about 12,000 particles grows stage by stage; let go, and it drifts back into a weightless cloud.
Question
Months of growth, in seconds.
Lavender needs months to go from sprout to bloom. We started from one question: what is the relationship between a living thing and the time of its existence?
In Touch and Bloom, growth takes seconds, but only while someone is touching the plant. Your hand stands in for everything the plant needs. Without it, nothing grows.
Process
It started as biofeedback.
The course brief was open: design a health-promoting interactive environment, physical or mental. On a shared Miro board we collected what already exists in the field (Elowan from the MIT Media Lab, George Khut’s Cardiomorphologies, DeLight, PhytoSense, Stress Makes Art) and wrote one core question: can a living plant become a biofeedback companion that guides you toward calm? Our hypothesis: touching a living plant, with real physiological feedback and breathing guidance, would reduce stress faster than a screen-based app.
The first plan measured stress. A GSR sensor would read the skin, and an LED strip in the pot would glow blue when calm and pulse red when stressed, slowly enough to breathe with. We sketched four forms for the object, the colors and sounds of each state, and a failure state: if you stay stressed, the plant doesn’t punish you. It keeps pulsing, patient, like a real plant.
We split the work into four roles (hardware, software, design, research and presentation), kept user testing and demos as shared work, and planned backwards from the final presentation on 10 July 2026. In practice the roles blurred: I worked on every part, from the circuit and the code to the design and the presentation, alongside Yeyeong and Esra, who shaped each of them too.
Then the tests changed the plan. The stress readings were too unreliable to build on, and a plant that mostly measured you, while little happened in return, didn’t calm anyone down. So we turned it around: instead of measuring stress, the piece invites the calming act itself, a literal version of “touch grass”, and answers it. The plant became the sensor, and the light became a lavender that grows under your hand.
Interaction
Hold to grow, let go to rest.
While the plant is touched, the piece moves forward one stage at a time: cloud, sprout, seedling, bloom. Each stage holds for about five seconds, so growth feels deliberate, not glitchy.
When the hand lifts, every particle drifts apart into what we called zero gravity, suspended between forms until the next touch. There are no buttons and no touchscreen. The plant is the only input.
While the plant is touched, the lavender moves forward one stage about every five seconds: cloud, sprout, seedling, bloom. Releasing the plant at any point sends the particles back into the weightless cloud.
CloudZero gravity
Sprout
Seedling
Bloom

System
A living plant as a sensor.
The stem connects to an Arduino with a single alligator clip. One ~1 MΩ resistor sits between a send pin and a sense pin, and the CapacitiveSensor library measures how long a small charge takes to settle. That time jumps the moment a finger lands on the plant.
We tested two boards, an Arduino UNO and a Leonardo. The reading streams over USB serial at 9600 baud straight into Chrome through the Web Serial API. The kit is small: a breadboard, jumper wires, alligator clips, a USB cable, a power bank and a fresh flowering stem.
Flowering stem
living touch surface
Arduino
CapacitiveSensor~1 MΩ resistor
USB serial
9600 baud
Chrome
Web Serial API
p5.js / WebGL
~12,000 particles



Calibration
Tuned to a real stem.
Every stem conducts differently, and so does every hand, so the piece calibrates live at the table: a REST value with no touch, a MAX value at a firm touch, then the hold time per stage and the threshold that decides what counts as a touch.
We tuned it in class as a team, one hand on the stem and one eye on the readings on the laptop.
REST
The baseline reading, nobody touching.
MAX
The reading at a firm touch.
Hold time
About five seconds per stage.
Threshold
How light a touch can be and still count.

Software
Twelve thousand points of light.
A p5.js and WebGL sketch, running from a single HTML file, samples about 12,000 particles from photographs of lavender and eases them between four states. Frame by frame, the serial reading decides where each point wants to be. Each stage locks for about five seconds, so the growth never jumps.
Early versions ran without hardware, on mouse input, so the visual language was settled before the electronics were finished.
- Input modes: mouse, Arduino serial and auto-cycle demo
- Live sliders for density, size, glow, drift, flow and release threshold
- Loop back to sprout or hold at bloom
- Kiosk mode that hides all UI for projection
Layers
Read as much as you like.
Feedback from the course asked the piece to teach something, to hold back from giving all the information at once, and to leave people with a feeling rather than only a screen effect.
So each stage shows a short poetic line first, with a botanical fact underneath: the taproot, the silver leaves, the glandular trichomes that hold lavender’s essential oil. People can stop at the line or keep reading. Around the work we wrote an artist statement and a wall label.
Online
A build diary in public.
The piece also lived online. The team made a dark landing page that drifts like the installation, a six-post Instagram build diary covering the concept, the wiring and the first sprout, and a Linktree with a QR code for the wall label.
Team
Made by three.
Touch and Bloom is a team project by Yeyeong, Esra and me, made for the Project UX — Interactive Environment course in Berlin in 2026. We built it, calibrated it and tested it hands-on in class.
The point-cloud morphing technique is inspired by media artist Christian Brinkmann. We applied it to touch, time and growth. The build diary closed on the line that sums up the piece: you let go, she rests.





