
Sleep Ecology: A Realtime Journey Through the Collective Dream
Sleep Ecology is an immersive data visualization piece that transforms eight hours of REM-sleep data from 100+ participants into an immersive, virtual forest. Four plant species—Wild Columbine (positivity), American Beech (serenity), Stinging Nettle (negativity), and Ghost Pipe (introspective sorrow)—emerge, grow and vanish in sync with dreamers’ awakenings. Anchored by a real-time timestamp, the piece invites you to witness the night’s emotional currents as they shape a living ecosystem from midnight to dawn.
You can find the original dataset used here.
My role - designer and developer
Time frame - feb to may 2025
Skills - Unreal Engine 5, Blueprints, TouchDesigner, Python, OSC Protocols, L-Systems, Data Handling & Visualization, 3D Asset Pipeline (materials, texturing, optimization), Lighting & Environment Design, Post- Processing
Final details are being added to this page.
Please check back soon for the full write-up.
Concept
This piece explores the collective subconscious as a living ecosystem. Based on a longitudinal REM-sleep study, it translates time-stamped dream reports and emotional valences into a dynamic visual environment. Each of the four plant species represents a specific emotional state:
​
-
Wild Columbine – energizing positivity
-
American Beech – calming serenity
-
Stinging Nettle – reactive negativity
-
Ghost Pipe – introspective sorrow
​
As participants awaken during the study, their associated emotions exit the scene, and the corresponding flora fades. Over time, lingering emotions grow dominant, gradually reshaping the forest by dawn. A real-time clock anchors the piece, allowing viewers to revisit and observe the evolving emotional tides throughout the night.
Sleep Ecology reflects on how individual dreams contribute to a shared emotional landscape. By visualizing fleeting feelings as living elements within an ecosystem, it prompts reflection on which emotions persist beyond sleep—and how they influence our waking lives.
Project file on Touchdesigner --- Hover for annotations.
Process
Hover for annotations.
Data Handling
Each flower that appears is born from a participant's emotional state during REM sleep. When someone wakes, the plant representing their emotion fades. To simulate the slow emergence of dreams, plants grow steadily every half-minute, creating an organic rhythm of appearance and disappearance.
I used TouchDesigner to process and refine the time-stamped data in real time, feeding it into an internal clock that drives the forest’s evolution. This data is then sent to Unreal Engine 5 via an OSC server, where it controls plant spawning, growth, and removal, as well as the UI.
To enhance the dreamlike quality of the environment, I created a soft, glowing firefly system using Niagara.
motion sensor triggers the geometry of the exoplanet to switch between these two materials

material using generative planet texture map resembling Earth
procedurally animated shader
Technical Pipeline
Hover for annotations.
Below is a simplified layout of the technical pipeline, which realied heavily on visual scripting (Touchdesigner nodes and Unreal Engine Blueprints), Python, and an OSC server. This project was initially only meant to be in Touchdesigner. However, I later on realized that this would severly limit the project's possibilities in turn
The result was to

I initially imported the raw data of the study, which was essentially a list of every participants level of intensity of feelings (with a variety of over 20 feelings to choose from, intensity levels ranging from 0-4), as well as the time they had woken up. I parsed and organized the data into 8 different lists: 4 for the generally positive feelings, one for each level of intensity felt, and the same for the negative feelings. This enabled me to experiemnt with the data and its visualization in a more streamlined manner.
I then installed an internal clock. I programmed it to trigger an update of the system whenever the inernal clock would match any of the time stamps given by the raw data (i.e. when it was the time that one of the participants had woken up). This would in turn update the amount of vegetation and growth of the flowers, directly affecting the aforementioned lists.


Instancing the vegetation based on the amount of actual data points turned too messy. For a more intuitive visualization for the viewer, I instead instanced the ratio of each feeling based on a custom total. This enabled me to control the scale of the garden to my own preference, while keeping the data accurate.
I also reorganized and condensed the 20 feelings range from the actual study into the 4 categories which I personally found the most interesting : high energy positive feelings, low energy positive feelings, intense negative feelings, and low energy negative feelings. This was in order to make the project as visually communicative as it aimed to be compelling.
3D Asset Creation
Most plant species were modeled using L-systems, a mathematical rewriting system that allowed precise control over their form and growth behavior over time.
This entire project felt like a flirtation of
Importing raw texture maps from Quixel Megascans, I then built each material graph from scratch in Unreal Engine 5—layering custom translucency, wind-driven vertex animations, and procedural shaders to achieve a surreal, living quality. Additional foliage and environmental elements were brought in via Quixel assets to complete the immersive forest.
​