Most software in popular culture is built with millions of potential “users” in mind. I’ve been thinking about – and lately, experiencing – what happens when we build for dozens of people instead.
I think that somewhere in between “vibe coding doesn’t work for enterprise software development” and “everyone can build apps for themselves, n=1 software is the future” there’s an unexplored sweet spot: relational technology we build and share with people in our communities.
Here are 11 reasons I am loving creating small, sharable software:
It changes our perspective on what’s worth building. What we build doesn’t need to be for everyone or an abstracted “total addressable market.” We should build what we need.
It’s welcoming to long-time organizers, teachers, caregivers, and others with deep wisdom and relationships. It changes who we think should be designing and building in the first place.
When we build things with and for people nearby us (offline or online), we share with people nearby. This self-expression is actually quite intimate, like sharing a work of art. Collectively making things deepens relationships. There’s a certain coziness to it all.
Feedback loops are shorter and richer. Feature requests, bug fixing, release notes are all more meaningful when you know the people relying on the tech. This is software work as care work.
It keeps the codebases small and manageable, which is especially helpful when relying on AI for debugging and building new features.
Smaller software has fewer attack surfaces and “honeypots.” With fewer users and simpler functionality, there’s less incentive and fewer opportunities for exploitation. This is one way we de-risk non-developers building our own tech.
It’s human-scale. Drawing on Dunbar’s number and my lived experience, it’s hard to hold more than 150 actual human beings (and their relationships) in our minds through ideation, building, testing, delivery, and maintenance. Let’s try fitting software process to how our brains and bodies work!
It gives us permission to show up as builders in our most important social contexts. “Did you know people are building custom software for their neighborhoods, their friend groups, and their extended families?”
At the intersection of thinking small and dreaming big there’s a whole new set of ideas. This is especially true for software that’s meant to support care and connection. You can probably think of three ideas right now! Small software sparks public imagination and contributes a new story about people and tech.
“Small is good, small is all.” – adrienne maree brown, Emergent Strategy. Fractals show up everywhere in nature and I think we could all use a little more biomimicry. (Also a nod here to E.F. Schumacher, whose book Small Is Beautiful helped spark this way of seeing systems.)
Here’s the kicker: We don’t have to give up scale – we just need new, creative pathways or waterways to reach more people. These homegrown tools can spread community-to-community, being remixed and improved along the way.
I’d love to hear from you: What would you add to the list? What small software are you dreaming of? What does your neighborhood or family or collective need?
Next week, I’ll write more about code we can trust.