I like to create software that is beautiful, poetic, playful, and empowering. These are some of the things I’ve created and tinkered on towards that end. I want software creation to feel more like home-cooking. I want to taste software, to pass ingredients and side dishes as we pair, to make lil apps with our hodgepodge of leftovers… I’m hoping my work will forward a world that looks like that.



interactive, collaborative html elements with a single attribute.


a garden for everyday internet dreams.

This (we)bsite is a space for the community to cultivate, nourish, and grow, centered around internet hopes.

An interactive, participatory essay proposing the โ€œpluriverseโ€ as a new banner for the community to rally around for how we look at imagining a โ€œnew web.โ€ It is co-created with visitors and readers of the site.

Created in collaboration with Verses.

cursor park

“cursor park” reimagines an everyday productivity tool into a communal canvas. This piece takes its cue from the whimsical ‘cursor park’ trend, an ASCII art that serves as a virtual resting place for cursors in a shared document, emerging as a collective moment of stillness amidst the digital hustle.

Through a satirical form, โ€œcursor parkโ€ challenges viewers to perceive our everyday digital actions and interactions as artistic expressions comparable to fine art. Co-opting a space traditionally dedicated to long lines of text towards optimizing efficiency, this piece gives space for the cursors, our digital embodiments, to become the storytellers in an ongoing performance. Each cursor embodies an individual’s presence, their movements composing a narrative of coexistence.

Inviting visitors to observe, engage, and perform, “cursor park” is a testament to the collective narrative we create in our interconnected digital landscape, a narrative crafted with our very presence.


A ceramic charm of my personal logo derived from my Chinese name (ๆญฃ) with an NFC chip inside with my website written on it. I carry it whenever I go out to keep my website close, and when I meet people I can “give” them my website by tapping their phones with my stamp.

SIGIIL I is an experiment in creating single-purpose objects to represent digital ones, giving them form, texture, and history.


  • an interface for collecting and cultivating homegrown collections (databases) that bridges the instant experience of texting yourself and the curated experience of folder organization
    • a personal discord + your assets folder
    • your text conversation with yourself + your photo albums
    • your downloads folder + your
    • your camera roll + your figma moodboard
  • a client for local-first archival that works with multiple data sources
  • a social media for sharing rather than broadcasting

every color haiku bot

a twitter bot that tweets out a new hex color every hour with a generated haiku.

OpenAI Pack

An extension that brings the power of OpenAI to Coda, giving people the power of GPT-3 and DALL-E to summarize documents, make stories, and create images.

wall of windows

a set of live-updating windows that show slices of my life in real time.

our internet map

a participatory art exhibit that invited visitors to create digital space together showcased during the Interact Summer Symposium 2022.

tiny internets

an inquiry into how we create more human, natural, and homey spaces to shape, live in, and form bonds in.


Pacman reimagined as an interactive poetry game. A simplified version was published in taper 8, an issue of a computational poetry journal.

Created in collaboration with Kelsey.

Verses Verses

A collection of transforming verses from the verses community and an interactive lab to make your own.

Created in collaboration with Verses.

Transforming Text

an open-source library for creating transforming text.

Created in collaboration with Jacky.

Twitter Pack

A Twitter pack for Coda which gives you the ability to manipulate data from Twitter the way you want and find the things that you remember without messing with a complicated API.

twitter poems

An interactive version of alex dimitrov’s ever-evolving love and loneliness poem
// 1912 words //

Fits Stream

A stream of my daily outfits.

Decoding your Mind

Sharing my method to data-empowered journaling and self-reflection
[02.14|00:09847255690] โœ๏ธ spiraling in 2024 โ€ข [02.22|23:09848031066] ๐ŸŽง ่ธŠใ‚Šๅญ โ€ข [10.30|07:09806502420] ๐Ÿ“ฟ โ€œI start every day with two empty handsโ€ โ€ข [01.31|21:09846123008] ๐Ÿ”จ cursor-watching โ€ข [10.13|05:09805029828] ๐Ÿ“– Wrong Way โ€ข [02.09|00:09846824818] ๐Ÿƒโ€โ™‚๏ธ Afternoon Run: 3km โ€ข [02.14|00:09847255690] โœ๏ธ spiraling in 2024 โ€ข [02.22|23:09848031066] ๐ŸŽง ่ธŠใ‚Šๅญ โ€ข [10.30|07:09806502420] ๐Ÿ“ฟ โ€œI start every day with two empty handsโ€ โ€ข [01.31|21:09846123008] ๐Ÿ”จ cursor-watching โ€ข [10.13|05:09805029828] ๐Ÿ“– Wrong Way โ€ข [02.09|00:09846824818] ๐Ÿƒโ€โ™‚๏ธ Afternoon Run: 3km โ€ข

Thanks for visiting, and safe travels!
If you'd like to support my independent work, I have some fun buttons for you ๐Ÿงก