Featured
Not necessarily elaborate, but useful time and time again.
PeachPay
I co-founded a company that is building Shopify for the rest of ecommerce.
Goupfile
File sharing with multiple files under one URL, easy to remember URLs that don’t have ambiguous characters, and QR codes for sharing the download link.
Faview
Preview how an image looks as a favicon in a browser tab.
Deformat
Strip extra whitespace from text.
Stripped YouTube
Firefox add-on that removes distractions on YouTube.
gaozhang.co
Chinese language blog posts.
Timeless
Hugo theme used by this blog. It emphasizes readability and good typography.
Completed
Published and usable, but not actively developed.
Generative art
Experiments in creative coding.
Blognow
Zero config static site generator for blogs, like Hugo but with less configuration.
Pitch
Web version of the original Pitch Card Generator, built with Next.js.
tailwind-login
Clone of the DigitalOcean login page (archive) to demonstrate how flexible Tailwind CSS is. A coworker of mine couldn’t tell which was the real one.
mmap-demo
Demo of the mmap system call for memory-mapped files in Unix.
cshear
Concurrent shearsort algorithm in C using pthreads.
Archived
Musearch
Search the same query in multiple search engines to check how well your content shows up in each of them.
is-am-pm
Node.js package that tells you whether a number on the 24-hour clock or a date corresponds to am or pm.
Pitch Card Generator
Creates random, printable pitch calling cards to aid in calling out pitch style without the other team knowing. Made this with a friend for a high school softball coach.
uSay
Middle school project whose full name was uSay Change. It was a site where people could submit ideas on how to improve products or services. Like Canny but worse. Lots of hacked together PHP.