Soli Sandbox: Helping Me Heal



My Soli project is based on the grief and loss I have/am experiencing over the loss of my roommate who recently passed away. She passed away this summer after battling leukemia. Her parents are driving down to Pittsburgh this weekend to pack up her belongings from our apartment, and my feelings of grief are slowly coming back in waves thinking that I will be losing one more connection with her. I’ve previously made an intaglio print dedicated to her as she was completing her second round of chemo, and I view this project as a continuation of my work that is dedicated to her.


This project is inspired by the “cheesy” haiku/poem posts that exist everywhere on the internet where the background exists a calming scene and the foreground contains a poem. In my piece, the phone in some aspects is comforting the user by providing different poems about grief and loss every time the user taps the phone and also playing a melancholic song quietly in the background. The flowers in the corners are called spider lilies – a summer flower native throughout Asia, and in Asian cultures (especially Japan) the red spider lily means “the flower of the heavens” & is associated with final goodbyes and funerals.


This project’s execution was way too simple. I completely understand and totally agree with that. But in some aspect, I think for the concept and idea I was going for, the simplicity makes it better because the content is very heavy and I wanted to focus on the user dealing with their grief and loss while reading the poems without any distracting background visuals.

Inspiration – the “cheesy” poem posts

Project gif



Kindle (Soli Candle)

Kindle (Soli Candle) simulates and resembles a calm and gentle candle, one that is tranquil and contains energy like a little heartbeat. The candle flame behaves like a regular candle, where it swings and sways with forces and wind that act upon it. A swiping gesture with your left hand or right hand will disturb the candle, and will sway in the direction temporarily, then falls back in place. A tap gesture puts the candle out or ignites the candle if the candle flame is out. There’s also an “up-swipe” feature that allows the user to turn the calm candle flame into a powerful fire-beam generator, creating a colorful blaze that also spouts out a little smoke from the overheating.

Interface (Glitch):



Ambient News

‘Ambient News’ is a speculative news appliance for your home. In its passive state, it shows a nonsensical news headline. Only when you reach out with your hand does it reveal the real news hidden underneath.

The appliance is a reflection of our digital consumption habits. By layering nonsensical information over the real news, it tries to prevent passive browsing of media we are used to experiencing.


*Nonsensical news is generated using Rita.JS and The New York Times TimeWire API.

‘Reach’ (or Up Arrow) to reveal the real news. ‘Reach out’ (or Down Arrow) to return to the fake version.

“Swipe” (or left/right arrow) to browse other content.

Previous Iteration:

Screenshots (Before and After ‘Reach’)




(backup link: https://vimeo.com/467470357)

Glitch Project Link: https://glitch.com/~a-nervous-chicken

Presentation mode: https://glitch.com/~a-nervous-chicken

It’s a chicken, it gets nervous when you get too close to it. 

The chicken is constructed through particles and springs, which gives its bouncy quality. Upon sensing human presence(Soli event presence), the chicken perks up and becomes alerted. You can slap the chicken (Soli event swipe), and the chicken will get shoved around and screams.

It’s a simple concept, and I wanted to focus on giving some character to the chicken, and making it chubby and lovable. I created a throwaway program that I can use to design the chicken and export it as a JSON file, and then there’s the actual program executing all the particle and spring motion. I’ve learned a lot about particles and timing animations while making the project, and it was super interesting to work with the Soli system. When I told my roommate to walk close to the phone and the chicken perked up she was super surprised on how it was able to know, so that was a really fun 😀

(more documentation)Spring system:

Chicken Maker(different color used to encode different body parts):

Toad2 – SoliSandbox

Shy Beetles

Video Link  

View Project               View Code

This project is about allowing the user to feel the joy of turning over a stone and watching beetles scuttle about about. The beetles should react similar to how real beetles would react by running to shadows when the rock is moved, run away from user’s hand when they move in. Additionally, when there is no presence the beetles will explore their environment but then go back to hiding under a rock when user is close to the device again.

For this project, I wanted to instill a feeling of joy from seeing the beetles, so I focused upon creating realistic but cute bug like movements. However, since the beetles are so detailed it was difficult to create a compelling environment for the beetles to inhabit. In this project, I learned how to determine if a point was inside a n-sided polygon but the algorithm was too inefficient to be used in real time as well as create compelling generative creatures. Hopefully, this project brings other people the same joy I feel from seeing beetles crawl.

OodBird – soliSandbox


This app allows the user to interact with an animated cat and give it instructions using hand movements like swipe and reach. When the app is on and no presence is detected, the title screen will play. Once soli detects a presence, the cat will appear laying down. The user can then swipe left and right to make the cat roll in that respective direction. Swiping up will make the cat sit. If the cat is sitting and the user reaches for the phone the cat will react. If the user swipes up while the cat is sitting the cat will stand on it’s hind legs then return to a sitting position.



Title screen:

Roll motion:


Sit motion:

Stand and alert motions:


This is a project linking the soli swiping motion to unleashing the plague on an unsuspecting group of believers. The current enabled plagues: plague of frogs, hail, and death to the first born.

I learned how to use physics and collision physics to implement real world feeling game dynamics.



(the cites for the sounds are at the top of the code)

for some reason, can’t export my screen recording off of pixel. It keeps failing. So here’s the video made off of the desktop version of the app.:


The app has storm, summer night, ocean, forest, library, party, and driving soundscapes that are interactive with reach and swipe (up, down, right, left) interactions. Sound begins when soli senses your presence. Sounds are associated with certain colors so the phone can serve as a colorful lamp as well. Reaching for the phone at least 3 times adds another layer of ambiance. Swiping up and down adjusts volume. Swiping right adds embellished sounds to the soundscape and swiping left generates a new soundscape and color. I learned to isolate individual parts of the app while developing it and I learned to simplify my ideas.



I created a DNA-Editor visualizer for my project. When you open the app, you’ll have a standard DNA strand with 20 nucleotides. You can remove nucleotides by touching the specific nucleotide. You can continuously add nucleotides by tapping outside the DNA strand. you’ll see that after a set amount of time, the strand will mend it itself regardless of if more nucleotides are added. If you swipe up, you delete the current strand you’re working on. If you swipe down, you’ll get a new standard strand. Swiping left and right is analogous to a zoom affect and you can see the inside of the DNA the more you zoom in. A lot of this project was problem solving and trying to find a way to manipulate objects in an interesting way. I found that timers are very powerful when I want to achieve certain looks.


Youtube Video Demo


The Windshield Wiper

For full documentation of my struggles, please see this:


In this project I want to create a humorous simulation of driving without a destination while keep on getting random nasty objects thrown on your windshield, which users can respond by the hand swipe gesture to activate the windshield wipers. 

It's meant to be fun and entertaining that users can engage in to release some stress from being inside ~the whole time~.

Image for postSplash

Image for postJust driving

Image for postStatic

I learned a lot in this project, mainly how I struggle forever to implement the most simple things. My lack of control over the medium  shook me.

Project on Glitch