Website

Live

Tactile Digital Experiences

Three sensory experiences I designed and built for the browser: move through a glass curtain, play with a jello pool and stroke a velvet pillow, with responsive movement and sound.

Why I made this project

How far can I push something digital until it feels real, or has some of the qualities of a real object? That is what I wanted to explore with these experiments.

I focused on the tactile part: could something on a screen offer some of the sensory satisfaction I get from touching a physical object? Something I could keep in my pocket and use even when I did not have those objects with me.

I started with a glass curtain, then a jello pool, then my favourite velvet pillow. In each case, I worked on the texture, the movement and the response to touch. Sound mattered too, although its role changed from one material to the next.

A short demonstration of the glass curtain, jello pool and velvet pillow, with sound.

Glass curtain

I wanted to make something beautiful that I would want to touch over and over again. I started by generating images of glass shapes and curtains in Midjourney, then worked in Codex to turn that visual direction into little objects that could move.

I described how a glass curtain should behave: the way the strands hang, how movement travels along them and how they settle after a hand passes through. I spent time refining that movement and finding the right sound to go with it.

An interactive curtain made of hanging glass beads
The first study: glass beads that move and sound as you brush through them.

Jello pool

For the second experiment, I wanted the feeling of putting a hand into a pool of jello and swishing a finger around. A quiet, satisfying sound, as if I were rearranging things.

I started with the kind of image I wanted in Midjourney, then worked in Codex. I went through about five or six iterations of the look and behaviour: how much reflection there should be, how light passes through the balls, how solid or soft they feel, how fast they move and how many layers create enough depth.

The balance mattered. I wanted enough layers and detail to feel satisfying, while keeping the experience light enough to use comfortably.

The sound was harder to find. I tried recording things myself, but I did not have the right materials with me to make the sound I had in mind. I eventually found a recording online that worked better than the other experiments.

A pool of translucent colourful jello spheres
The jello study, with layers of translucent balls, moving reflections and sound.

My favourite velvet pillow

The third experiment was more personal. I wanted to recreate my favourite pillow, one of the pillows I reach for when I need to think or calm down. I really like its softness and the marks I can leave in the velvet by stroking it with my hand or fingers.

I took a photograph and recorded videos of how the real pillow behaves, then used those references while working in Codex. When I press one place, the whole pillow moves. I spent more time on that behaviour, so the response would extend beyond the spot under my hand.

I also worked on the contrast between stroking with the pile and against it, and the marks each direction leaves. I added two ways to stroke it: a broad hand stroke and finer finger or nail-like strokes. The latter is something I do a lot with the real pillow, so I wanted it here too.

The sound is more subtle in this study. What matters most to me is how the pillow looks and responds when I touch it.

A green velvet pillow with soft traces left by stroking its digital surface
The digital version of my own pillow, with pressure and directional velvet traces.

How I made the studies

I built the experiences in Codex, using the generated images and my own recordings as references. The code follows a mouse or finger and calculates the response in real time: connected strands swing, soft balls move and deform, and the pillow changes shape while retaining the direction of the strokes. Canvas draws the glass curtain; WebGL renders the jello and velvet materials, including their light and texture. Browser audio responds to the gestures. I used React and TypeScript for the curtain and pillow, and JavaScript for the jello pool.

Medium: interactive browser-based materials with responsive visuals and sound, sized for desktop and phone screens.