One of my favorite activities on the internet these days is finding tiny web tools and libraries that just do one niche thing really well (or at least, decently well and the site’s personality makes up for it).
From generating ASCII art to finding Wikipedia articles about places near your location, to changing the faces of images to look at your cursor, the web is full of wondrous gadgets (peruse my full catalog). I keep these tabs pinned in a browser window and think of them as my internet toolshed. I head to the river when I’m in a visual mood. I scroll through https://transparenttextures.com/ when I’m in need of an interesting feel. I go to careful words to play with language when it’s not coming out the right way, and I go to my local clipboard converter whenever I need to paste some content into Obsidian to get it formatted correctly. I even have a place I visit to create ᵗᶦⁿʸ ᵗᵉˣᵗ (you’d be surprised how often one needs tiny text!).
I like how distinct these tools feel, each with their own stories, personalities, and creators. They feel a lot like my homecooked apps except they’ve been made and made available by someone else for me to use. This means I don't have the agency to change them (except for open-source ones), but they still feel personal and are often designed well enough for the specific use I have in mind. I’ve grown fond of them over the months as we make memories in the timeless sea that is the web. My hands are accustomed to their interfaces—I skip over the introduction text as soon as I arrive and the clang and clack of industry begins.
As much as I like the idea of a single general-purpose tool for creating any software that you want (I passionately worked at Coda, after all), I don’t think we can make something entirely new that lasts forever. More and more, we want to build something that is the solution1 to everything, the tool to end all tools, rather than making something useful in one specific way.
While I applaud the effort, I find myself drawn to the simple beauty of single-purpose tools more and more lately. They don’t claim to be anything they are not. They do the one thing well, and that’s all they have to do.
Being optimized for a specific task, single-purpose tools necessarily have constraints. As a result, they tend to look and function pretty uniquely, which often makes them hard to miss. Some are made fun of for how niche their purpose is (like the avocado slicer) and others are celebrated for their dedication to a single craft (like the ultimate Bonsai scissors).
the OXO Avocado Slicer and a tamagoyaki egg pan
And although they’re only advertised as having a single purpose, sometimes their constraints actually provide a fertile environment to find new creative uses, like using a vanity mirror to look at flowers. Purists may be shocked at the idea of using something so meticulously crafted as Bonsai scissors to snip green onions, but I like that we challenge the purported single-nature of these tools. We don’t make it easy for them.
On the web, there’s something charming about the “smallness” of these tools, in contrast to the big polished monoliths that claim to do everything. I often trust a site that is a little unresponsive, but obviously made by a person much more than a polished site with a landing page that looks like Stripe’s (or whatever the latest trending aesthetic will be). When the site feels like its made by a person, it feels different from what we’re accustomed to seeing on the web nowadays. These sites are not SEO-optimized. They feature plain, sometimes grammatically incorrect and sometimes dry and lengthy, language. They may not be mobile-responsive and may even occasionally be down when you try to visit them.
They aren’t trying to convince you to use the tool because they likely made the tool for themselves, first and foremost. And if they do, it's purely because they want more people to be able to use it, rather than getting signups for their product2.
(from left to right) Josh Comeau’s gradient generator, the practice guide maker, and the italic text generator,
These kinds of tools mesh well with the rising culture of getting creative value out of the things you already have. We glamorize the creative resilience of creating a feast out of kitchen scraps and leftovers to sustain ourselves (girl dinner). And, we love finding new life hacks to avoid buying more things. Another part I love about these tools is that their creator took the time to turn the code they likely originally wrote themselves into a website that makes the tool available for others to benefit from. They are connecting their creation to the broader internet, and as a result, giving me another tool to put in my toolshed3.
Sure, more people now make these tools to capture a popular search query with fancy domains, SEO-optimized pages, and a web of upsells and ads waiting in the wings. But for every one of those, I believe we’ll still find people like you and me who make small tools because they need them and share them because they think it’ll help at least one other person on this wide, wide internet.
When you try to make something that solves everything, you obsess over questions of power: how to make something that is all-powerful and everlasting. But when you make a small tool that solves one thing, you only need to answer a very personal one: does it solve my problem? Rather than the question of how to make software that lasts forever, I think more about how long and who for and where will it push the space to develop. I want to see more visionary efforts that embrace the pluralistic nature of the internet, that allow you to bring many little tools together in one place, while preserving their unique characteristics.
Making some small tools for the web isn't a bad place to start.
What are some of your favorite small tools and libraries you’ve come across on the web? When do you wish you could combine them together? Do you already cobble some of them together regularly?
in related news, Tiff Ng wrote a lovely piece about the whimsy of the internet for MIT Technology Review, featuring html garden! Speaking of, the garden’s exhibition at the DeYoung ended this past weekend, and I got a new shiny domain for it (htmls.garden, sadly html.garden
was taken).
And here’s a sneak peek of that app I’ve been working on (my first mobile app ever!). If you’re interested in curating multi-media albums on-the-go from your phone and/or use are.na liberally, just reply and let me know (iPhone only for now).
Thank you for everyone who is reading this, and welcome to all the new folks (now 581 of you!!). If you’d like to support my independent work, I’d appreciate if you shared anything I’ve made that resonates with someone who you think would enjoy it (and I also have a sponsors page for people to support my independent work and get inside scoops)!
Perhaps aspiring to be the modern ”Mother of All Demos” that becomes a productionized reality
One of my favorite things to notice in a small web tool is when they go to the extra effort to make it accessible to people irrespective of programming ability. I still think about the transforming text library that Jacky made where I helped make it compatible with plain-text format (and a live playground for use). This lead to students from a local college using it in their final projects even though they weren't coders! That has got to be one of the best feelings of making a small tool.
I have this long-standing project idea note about creating an "internet sack" browser extension to carry around these tools that you find on the internet around with you. Perhaps these websites just appear as iframes that you can pull up as pop-ups when you need them. Maybe they could even specify "widget" displays for a compact version that you could embed. Maybe you could even pass them data directly from the page just by highlighting things or dragging them over. Let me know if this is interesting to you, and I might find some time to build it?
love this !! the “internet sack” is an excellent idea - i imagine my makeshift version of this currently is storing these tools in an are.na channel or space within my Arc to surface whenever i need, and previously this was also mymind (being able to just search for a tool you needed). a way to make this simpler would be great!
speaking of which I’m also an avid are.na user and mixed-media enthusiast, would love a look at Gather :)
This is excellent