Stripped YouTube – Firefox add-on that removes distractions on YouTube.
Blognow – zero config static site generator for blogs, like Hugo but with a lot less configuration.
Timeless – the Hugo theme used by this blog. It emphasizes readability and good typography.
undo.studio – a brand under which I do more artistic things and launch software products.
Not quite ready
These are in development.
up – CLI tool for sharing files that rotates between available file uploading sites since file upload sites seem to come and go.
Goupfile – file upload site with a few features that others seem to miss: uploading multiple files under a single URL, easy to remember URLs that don’t have ambiguous characters, QR codes for easy transfer to and from mobile devices.
Pitch – web version of the original Pitch Card Generator, built with Next.js and deployed to Vercel. This was the first time I tried out Next.js/Vercel, and it was by far the best developer UX I’ve seen.
Things that are deployed, published, or otherwise finished.
Faview – see how an image looks as a favicon in the browser tab.
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.
Musearch – search the same query in multiple search engines. Useful when checking how well your content shows in up various search engines.
Deformat – strip extra whitespace from text.
mmap-demo – demo of the mmap system call for memory-mapped files in Unix.
cshear – concurrent shearsort algorithm in C using pthreads.
xiaobiji.co – my other blog where I practice writing Chinese. “Small notes” is what the name means.
These are no longer in active development or use.
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 a lot worse. Lots of hacked together PHP.
Pitch Card Generator – made this with a friend for a high school softball coach.