A therapeutic digital garden made with gaussian splats.
MoodBloom.GS began as our entry for Niantic's Real World Impact Challenge. I had been fascinated by Gaussian Splats since discovering Luma's interactive scenes and experimenting with WildGaussian—training Gaussian models from scratch using only images for a company project.
What can Gaussian Splats do that traditional 3D modelling simply cannot touch or easily recreate?
The answer emerged in the way Gaussian Splats capture an environment under changing conditions: the warmth of sunshine, surfaces glistening after rain and the soft, dreamlike quality of cloudy light. These qualities connected naturally with evidence showing nature's profound impact on mental health and wellbeing.
MoodBloom.GS grew into a tool that helps people in urban areas reconnect with nature through realistic environmental captures. Soothing ambient sounds complete the sensory experience, creating an accessible mindfulness retreat while encouraging appreciation for shared community green spaces.
Explore the live WebXR experience. The current version supports phones only.
Open MoodBloom.GS experience ↗I used Niantic's Scaniverse app to capture the Gaussian Splats. Finding the right location was crucial: it needed to be neither too expansive nor too confined, while allowing a full 360-degree walk to collect intricate visual detail.
After testing several locations, I chose Bernie Spain Gardens, a riverside community garden in London. Its proximity made repeated weather captures practical, and it is not usually crowded. Scaniverse's cleaning and editing tools helped remove unwanted artefacts and significantly improve both visual quality and performance.
This was my first project using 8th Wall Studio. I learned its scripting and integration patterns by studying sample projects, then used TypeScript to implement scene transitions and state-machine mechanics. In 8th Wall, scenes are called “spaces”, so each space was named after a weather state to manage transitions between Gaussian Splats.
I later found that objects can persist between spaces by toggling a setting. Keeping the camera persistent preserved the user's previous viewpoint and made movement between weather states feel continuous.
8th Wall's sample scenes made the editor approachable for a first-time user. The project also highlighted the value of strengthening my JavaScript and TypeScript foundations for future WebXR work.
All 3D tulip models were generated with AI through a two-step process. I first created 2D images in Midjourney, then passed them to GenerateAnything to produce the models. I also developed a custom Python script to compress the models substantially without sacrificing visual quality, ensuring they performed well within the WebXR framework.
Although the project did not receive an award, I am proud of the idea and what we built. MoodBloom.GS demonstrated how an emerging technology like Gaussian Splatting can create a meaningful wellness experience, while teaching me valuable lessons in WebXR development and photorealistic environmental capture.