I, like many others, miss having physical movie and concert tickets. However, I do recognize the convenience and ease of the digital ticket. This little side project seeks to create a digital movie ticket that still captures the special feeling of a physical ticket. One aspect that makes physical tickets feel special is the collection of them, the accruing of artifacts over time. Physical tickets are akin to a photograph in the way that they can hold their value in the memory of your experience, your relationship to the film, or the specific time in your life when you saw it.
While I was researching physical ticket references, I was touched by the emotional nature of decay where older tickets would appear faded and visibly affected by the passage of time. I hope to experiment with this idea in the future and to add a way for people to create their own collections of tickets.
Little Bits
Running list of smaller ideas
Redesigning the Movie Ticket
Last updated
April 25, 2026
Tags
Product Design, Engineering (Web)
Tech
React, CSS, Cursor, Paper shaders, based on this Codepen by Mark Miro
Sound Effects on the Web
Last updated
March 1, 2026
Tags
Product Design, Engineering (Web), Sound
Lately I’ve been trying to find ways to add more “game feel” (the juice, if you will) to the interactions of personal side projects through aspects like animation and feedback to enhance the overall experience. One of the biggest ways to add more game feel is through sound, which is pretty underexplored on the web in general.
I spent some time researching articles on adding sound effects to web experiences and came across the Web Audio API, which allows you to generate and control sounds natively on the web rather than having to rely on an uploaded .mp3 file.
While using the Web Audio API, I was surprised by how much fun I had experimenting with the different oscillator types and filter configurations to craft the exact sound effects I wanted. Having a code editor and my keyboard piano together side by side as I settled on note combinations and frequency conversions felt incredibly novel to me, and it was exhilarating to hear the outputs and new discoveries in real time.
I’ve included five sound effects that I created below. Feel free to try them out! I look forward to adding a sense of playfulness through sound to a bigger project sometime soon.
I spent some time researching articles on adding sound effects to web experiences and came across the Web Audio API, which allows you to generate and control sounds natively on the web rather than having to rely on an uploaded .mp3 file.
While using the Web Audio API, I was surprised by how much fun I had experimenting with the different oscillator types and filter configurations to craft the exact sound effects I wanted. Having a code editor and my keyboard piano together side by side as I settled on note combinations and frequency conversions felt incredibly novel to me, and it was exhilarating to hear the outputs and new discoveries in real time.
I’ve included five sound effects that I created below. Feel free to try them out! I look forward to adding a sense of playfulness through sound to a bigger project sometime soon.
Coin
Honk
Click & Pop
Chime
Bump
When Villagers Move Away
Last updated
February 18, 2026
Tags
Writing
I kind of miss when Animal Crossing villagers could just move away out of nowhere.
In the old games, you could come back to your town and discover that one of your villagers decided to leave. Maybe they wrote you one final heartfelt letter saying goodbye; but they were long gone, and you might never see them again.
In the new game, villagers have to get your permission to leave, asking the player for advice on if they should stick around or leave for a life somewhere else. This is in line with a greater shift in the series towards decorating, customization, and control. The old games had some of those elements too but were in their core focused on being a life and town simulator. They were about relationships.
In real life there are things outside of your control and things that are difficult and painful choices. Sometimes your best friend moves away or perhaps you decide to leave your loved ones to go to school or pursue a career in a different city or country. These events can end up defining our own lives and the lives of those who come after us, and I think it’s admirable for a game like Animal Crossing to incorporate an idea that’s both this small and intimate and yet so powerful.
To me, it’s more compelling for a game or piece of media or art to reflect the struggles and joys of real life and challenge us to consider them in new ways. It creates emotional investment, empathy, and real stakes. It’s much more interesting and meaningful for something to have a point of view or to create resistance than to just be cozy, frictionless, and ultimately boring. To love something, sometimes it means letting it go.
In the old games, you could come back to your town and discover that one of your villagers decided to leave. Maybe they wrote you one final heartfelt letter saying goodbye; but they were long gone, and you might never see them again.
In the new game, villagers have to get your permission to leave, asking the player for advice on if they should stick around or leave for a life somewhere else. This is in line with a greater shift in the series towards decorating, customization, and control. The old games had some of those elements too but were in their core focused on being a life and town simulator. They were about relationships.
In real life there are things outside of your control and things that are difficult and painful choices. Sometimes your best friend moves away or perhaps you decide to leave your loved ones to go to school or pursue a career in a different city or country. These events can end up defining our own lives and the lives of those who come after us, and I think it’s admirable for a game like Animal Crossing to incorporate an idea that’s both this small and intimate and yet so powerful.
To me, it’s more compelling for a game or piece of media or art to reflect the struggles and joys of real life and challenge us to consider them in new ways. It creates emotional investment, empathy, and real stakes. It’s much more interesting and meaningful for something to have a point of view or to create resistance than to just be cozy, frictionless, and ultimately boring. To love something, sometimes it means letting it go.
Light Box Button
Last updated
June 29, 2025
Tags
Skeuomorphic Design, Engineering (Web)
On a trip to the Phoenix Art Museum, I saw an untitled lighting piece by Mary Corse that appeared to be just a simple light box mounted to the wall. The piece had a magnetism to it that pulled the viewer towards it in a way that was both peaceful and invigorating. Reading more about it, I became impressed with the technical aspects of its making and was in awe of how Corse used her mastery of the medium to create something that elicits so much feeling while being so simple. The placard was written by Lily Reeves who summed it up, saying:
Untitled by Mary Corse, Phoenix Art Museum
Months later I was at the Kyoto Railway Museum and came across an exhibit with a control board containing buttons that reminded me of Corse’s piece. These buttons were much more utilitarian and focused on function, but their shape and material connected back to Corse’s light in my mind. I tried to imagine what they would look like if turned on and wondered if there would be a light emanating from them in the same way. I wanted to see if I could combine these two sources of inspiration into the format of a 3D button for the web, hoping to create a control that feels novel and that could evoke the same wonder.
Control board from Kyoto Railway Museum
I started by doing some paper sketches and then making the button in Figma. Over multiple iterations, I worked towards what the angle of the perspective should be, what amounts of blur made the material look more like plexiglass, and how to layer the light sources to create a larger and softer glow. Unlike the train buttons, this button would be made for the web, so I wanted it to adapt to the medium. This meant creating a hover state and toggle state functionality to allow for microinteractions and a special moment of seeing the button light up.
Button iterations in Figma
Finally it was time to translate the button into code. This was my first time working with 3D perspective in CSS but after playing around with it, I was able to build the layers of elements and transitions. The state is changed using JavaScript to simply add or remove the “on” class to the button, toggling the state on click. All of the animation itself is handled by transitioning between different CSS properties like height, position, opacity, and background color. You can check out the demo and github repo below. Enjoy!
Postcard App & Widget
Last updated
May 4, 2025
Tags
Prototyping, Motion Design
In 2024, I found myself wanting to foster better connections over long distances with friends, family, and loved ones so I had an idea for a little app that has a daily prompt for you to create a “postcard” to send to others. A postcard felt like the perfect real world metaphor since it naturally conveys the feelings of “I wish you were here” or “I miss you.” The motivation behind the daily prompt was to make it easier to reach out to those who are far away since it can be hard to stay in touch when your lives feel so physically removed.
For every postcard you take or select a photo from your camera roll based on the prompt. Then you can write and/or draw a little note on the back of it as well. You can view postcards sent to you in a widget that lives on your home screen or in a mailbox view in the app (which I haven’t created yet). I liked the idea of seeing photos from your loved ones arrive on your home screen to give you a little bit of joy throughout your day :)
I specifically wanted to focus on the interactions in this project to create continuity between different states. For example, the “create” button turns into the popover surface which then turns into the photo picker. I wanted the animations to feel expressive and playful, especially in the case of the final sending process, to make it feel special and memorable.
For every postcard you take or select a photo from your camera roll based on the prompt. Then you can write and/or draw a little note on the back of it as well. You can view postcards sent to you in a widget that lives on your home screen or in a mailbox view in the app (which I haven’t created yet). I liked the idea of seeing photos from your loved ones arrive on your home screen to give you a little bit of joy throughout your day :)
I specifically wanted to focus on the interactions in this project to create continuity between different states. For example, the “create” button turns into the popover surface which then turns into the photo picker. I wanted the animations to feel expressive and playful, especially in the case of the final sending process, to make it feel special and memorable.