DALL-E/Every illustration.

Selfish Software

Making software can be fun again if you build for the user you’re most eager to please—yourself

Like 88 Comments 4

Was this newsletter forwarded to you? Sign up to get it in your inbox.


I’d like to introduce a concept I call “selfish software.” 

Selfish software refers to writing code for yourself without any external customers in mind. This practice might sound niche or individualistic, but there’s no need for it to be. 

Think about building software today. Workflows are contorted to match rigid systems. Pre-built solutions are preferred over new ones, and compromises in functionality are common. There’s a way that things “should” work, and it’s easier to follow these rules than to break them. 

But this approach is backwards. Software should conform, not the other way around. 

Conforming has rarely led to great outcomes. Some of the most significant breakthroughs have come from flexibility, addressing personal pain points, and having fun. Linus Torvalds, the founder of two cornerstones of modern computing—operating system Linux and version control system Git, both open-sourced—started the former at age 21 in college as a way to procrastinate from school work. It was “just a hobby, [it] won’t be big and professional,” he said. It’s a lesson for all of us: If you conform too much, you can lose your creativity and come up with boring solutions.

I learned this lesson the hard way. After I sold my first company four years ago, I found myself in an odd position. Having grown Rock Content to become the content marketing leader in Latin America, I had achieved financial freedom to do what I wanted for the rest of my life—yet I'd lost my drive to create. 

I grew up in a poor family, and felt lucky when I fell in love with engineering and learned that there was a way to do what I loved while making money. The first time I programmed my own game as a kid, I felt like a wizard. Code was like magic, but better—it was real. Coding became the most powerful organizing principle of my life. I was obsessed with it.

But once I sold Rock Content, I found that it had stripped away the very thing that had made me successful—the joy of building. I started to focus too much on the market. Whenever I had a new idea, I’d think about potential customers instead of building the things I wanted to. This dry, paint-by-the-numbers approach eroded all the joy I’d once had of building software.

So I started writing code just for myself. I became a builder of selfish software. I had a long list of exciting ideas that I’d been putting off for more profitable ones. When I joined Every as an entrepreneur in residence, I challenged myself to complete nine experiments in three months. I completed eight projects—I had a baby during this period, which slowed me down—and felt the joy return. Three of those projects are a simulation for AI characters, a new type of personal knowledge management system, and a system to automatically keep content up to date. I was back in building mode. And because building is a part of my identity, I felt like I was becoming myself again.

When you create selfish software, there’s nowhere to hide. You can’t gloss over a clunky interface or excuse an awkward feature. The feedback loop is immediate and brutally honest, because your audience is just yourself. You’re forced to refine every detail until it works. Once you have something that genuinely solves your own problems, you may be surprised by how many others it helps—even if you haven’t developed a grand plan for profit. But the profit isn’t the point. The point is the fun, creativity, and excitement you’ve had along the way. And it’s easier than ever with AI.

How to get started building selfish software

It can be challenging to jump into selfish software after being accustomed to searching for customers and making projects for profit. I had to rewrite my own workflows and to rethink how I approached work. Here are a few steps I took to get started:

Create a free account to continue reading

The Only Subscription
You Need to Stay at the
Edge of AI

The essential toolkit for those shaping the future

"This might be the best value you
can get from an AI subscription."

- Jay S.

Mail Every Content
AI&I Podcast AI&I Podcast
Monologue Monologue
Cora Cora
Sparkle Sparkle
Spiral Spiral

Join 100,000+ leaders, builders, and innovators

Community members

Already have an account? Sign in

What is included in a subscription?

Daily insights from AI pioneers + early access to powerful AI tools

Pencil Front-row access to the future of AI
Check In-depth reviews of new models on release day
Check Playbooks and guides for putting AI to work
Check Prompts and use cases for builders

Comments

You need to login before you can comment.
Don't have an account? Sign up!
Christopher Boette 11 months ago

Similar vibe to the start of Robin Sloan's 2020 piece: https://www.robinsloan.com/notes/home-cooked-app/

Thomas Brady 10 months ago

Man this is really the zeitgeist at the moment. It's what I want to do with my time, but I haven't really let myself take that leap. Maybe now is the time for me to take the first step with my full force of conviction. Great article.

Jo Pforr 9 months ago

My favourite words:
"Play"
"conform too much, ... risk losing your creativity and coming up with boring solutions."
"Building for yourself has never been more accessible—or more fun."

I think within those lies the driving force behind it, finding joy again and inviting play which is often paired with curiosity and the least spoken about but most important aspect of great work. As evidenced by your own story. Makes me think calling this 'selfish software' is either provocative or misleading because it has a more negative connotation than the actual driving forces and the sentiment. But maybe that's just me.

Chad Boulanger 4 months ago

Thanks for sharing the journey