On the age of personal software

Building single-purpose things for yourself is great. It's also weird! Let's dive in.
/ Josh Larson / softwarepersonal

I’ve been making a lot of software just for myself lately. Heck, if you’re using AI stuff, you probably have, too.

People are calling this “personal software”. I’ve also seen it referred to as malleable software h/t Geoffrey Litt. I think the definition is something like:

  • It’s computer software

  • …that is purpose-built to solve a specific problem

  • …a problem that only you, or a small niche audience has

  • …which you have no intent on releasing to the public or selling.

I wrote about a bunch of these projects in my post about Zo Computer.

Personal software is really neat and cool and I love it.

Great things about personal software

First of all: it’s just for you.

Great thing #1: Simplicity

Building traditional (impersonal?) software typically means laying a solid foundation for the ideal end goal of releasing it to a wide audience. Often times, this means designing your architecture with multitenancy in mind. DB tables would have tenant_id columns.

Personal software = single tenant, full stop.

Great thing #2: No product-market fit

Also, guess what: you don’t have to deal with that nagging feeling of product-market fit. There will be no product-market fit. You are the market. It is the product. This is a great relief.

Great thing #3: No launch toil

On that note: you don’t have to worry about all the silly stuff about releasing to a mass audience. Cookie banners? Heck no. Get them out of here. You’ll never need to worry about upgrading to the “pro” plan of whatever SaaS app you used for some random thing before launch.

Bummers about personal software

Personal software also has some downsides I hadn’t considered! Here are some thoughts on our new reality.

Bummer #1: Missing sense of accomplishment

I gotta admit, I miss that sense of accomplishment when sharing it with others. This is for a couple reasons:

  • Nobody else can use it, because it’s built just for you.

  • Everybody else could have built it, because they have reasonable access to the same tools you used.

When I’ve released new traditional software or open-source projects in the past, I would get a little thrill knowing that others will benefit from this and this code is very special and unique to my software engineering prowess.

Sure, you can open-source it, but often the use case is so narrow (the definition of personal software) that it’s of no use to other people

Bummer #2: Auth

Personal software auth is annoying and we need a better solution here. Cloudflare has Zero-Trust aka Cloudflare Access, but I feel like it’s a bunch of clicks to get that working.

Jane Wong has a really cool idea here:

It would be really neat to turn that into a skill so it’s a one-shot prompt to add to any new personal software.

You could also stick everything on a private network like Tailscale, but I haven’t tried that before:

Bummer #3: Closure

The process of writing personal software lacks a sense of closure.

When you launch traditional software, there’s a big tada moment which culminates with a marketing site or a flashy demo video complete with instructions for others to dive in.

Now? It just… sits there, at rest, until the next time you use it. Which may be never if it’s a one-off. Nobody really cares.

Other flavors of personal software

Personal software can take shape in other ways that aren’t just for me, Josh Larson, the person typing these words to you on my computer keyboard right now:

Software for families

I want to build so much fun stuff for my family.

  • Display boards

  • Fun voice-integrated hardware stuff

  • Art and music things

  • Games and productivity hacks

All of these things would be improbable things to build in a traditional sense.

Software for friends

“You need an app to do a zibbly-zot for your doodly-what? Heck yeah I can build that tonight and have a link for you tomorrow.”

Software for community groups and other initiatives

Building really powerful things specifically for a non-profit initiative, or a church group, or something the community could benefit from seems like the perfect use for “personal software.”

What a time to be alive!

Believe