The Rise of Personal Software
A lot of coding is done these days by AI. Lots of people who never wrote a line of code before are now using AI to write code. Lots of developers too, both junior and senior, are using AI to write code too.
Some people generate even 10.000 lines of code a day with AI! Mind blowing, right?
I’ve been thinking about this a lot. I must be a slow one, because I just don’t get it: How writing 10.000 lines of code a day is a good thing? I mean, if you are writing 10.000 lines of code a day, how much of that code is actually good? 365 * 10.000 = 3.65 million lines of code a year. How much software that has over 3 million lines of code existed before the AI?
What I get is this: AI is here to stay, we all need to deal with that. Even if there will be a post hype crash, most likely AI will play out the same way dotcom did: it survives, only the initial irrational exuberance will be gone.
Nobody knows exactly what will happen, how big or how small the post hype AI impact will be, but this is what I see now:
AI is the perfect tool for personal software.
Vibe coding is fun
When is just you, you can be much more productive with AI, even 50 times more productive if you are a domain expert at what you’re building.
Vibe coding works so good because it has all the pieces that make gambling addictive:
- It’s like a slot machine, you have the illusion of control with prompts, MCPs, skills… but then you pull the lever.
- Something cames out, like Cherry Cherry, Seven… You get the occasional jackpot, but most of the time you don’t.
- You throw more tokens at it, you pull the lever again…
Vibe coding is highly addictive, we feel we can do more work with AI because of this addiction, we all had these marathon coding sessions. But we never felt more drained afterwords.
But that doesn’t translate to an organization, or even a team! When you are working with other people, you need to coordinate with them, you need to make sure that the code you are writing is actually good, that it is maintainable, that it is secure, that it is performant… and that is something that AI is not super good at yet. For now there’s only a tiny uptick in what companies are actually shipping.
This leads to an interesting conclusion: Most vibe coded software is done by individuals, for themselves!
But why would somebody create software? For exactly two reasons:
- To make money out of it, in some way or another: either by selling it directly, or by improving their business, or by getting a job because of it, or by getting a promotion because of it, and so on.
- To solve a problem for themselves, to make their life easier.
Because of this addiction, the “Imagine what you can do” mindset, people got very enthusiastic about vibe coding. Social media is full of people showing off the amazing things they built with AI, and how much money they are making with it. Most are lies, few are true.
Ask these over enthusiastic individuals the following:
- How much stuff that you built during those days of great enthusiasm are you using today?
- Are your customers using it today?
- Are you making money from it today?
And you will likely find that reality is much less glamorous.
Who makes the money?
Almost all the money is made by
- the companies that produce the tokens.
- influencers
AI companies like OpenAI and Anthropic are making billions of dollars a year selling tokens to developers and companies. They want you to vibe code more, they want you to be more addicted to vibe coding, because that means more tokens sold, and more money for them.
Influencers are making money by showing off the “amazing” things they built with AI, and how much money they are making with it or by taking sponsorships from AI companies. Just like they did with cryptocurrencies, NFTs, and other hype cycles.
You might be thinking: “But surely there are some people who are making money by building useful software with AI, right?” Yes there are some, but they are the exception, not the rule for several reasons:
- Building useful software is hard, even with AI.
- Building useful software that people want to use is even harder.
- As soon as you build something useful, it gets cloned by influencers and shady individuals or companies, and then you have to compete with them.
- The market is saturated with AI powered software, it’s hard to stand out.
Personal software vs Professional software
In software development, a widely recognized concept is the 80/20 rule, or Pareto Principle, which states that:
- 80% of a project’s functionality is achieved with 20% of the effort.
- The remaining 20% of features: complex UI, edge cases, security, or optimizations consume 80% of the total time.
This highlights that initial, core development is rapid, while polishing software to a production-ready state takes the majority of time.
This is the distinction between personal software and professional software. Personal software is fun, professional software is hard work.
Personal software
For personal software, the quick 80% of the work is often sufficient. Anyone can quickly create functional applications that meet their needs without worrying about fancy stuff like scalability, security, or maintainability.
After all, you are the only user. Probably you use the software on a single machine where it runs your use cases with reasonable performance, and you know how to work around the bugs, and you don’t care about security because it runs locally.
You don’t need to read any of the code you generated with AI, you just need to know how to use the software.
You can anytime change it, add things, remove things, and so on. Nobody is relying on it, so you don’t need to worry about breaking changes, or about maintaining it for a long time.
When you are bored by it, you can just throw it away and build something new.
I personally use AI to recreate a lot of online tools for several reasons: I don’t want to use them because of privacy concerns, or because they are too slow, or because they are too expensive, or I can’t find the button because of the ads.
Here are some examples:
- image background remover: remove the background of images, online tools are too slow, too expensive, and don’t do exactly what I want
- image upscaler: increase the resolution of images without losing quality, good online tools are expensive for the amount of images I need to upscale
- image optimizer: reduce size of images without losing quality, online tools are free for limited use
- image watermark remover: remove watermarks from images
- create all website meta images from a single svg: generate all meta images for a website from a single SVG file
- epub creator from markdown files: create EPUB books from markdown documents, exactly how I want, with the features I want without the bloat of existing tools
Using AI for personal software is such a liberating experience. I don’t have to give my email or put my card details on shady websites.
But I keep the code for all these tools private. I don’t share it with anyone, because it’s not good enough to be shared, and because I don’t want to deal with the support requests that would come if I shared it. I don’t plan to make money out of it, I just want to solve my problems, and have fun doing it.
This code is for my personal use, and that is fine.
Professional software
For professional software, the remaining 20% of features that take 80% of the time are crucial. Professional software needs to run on multiple OSs, in multiple environments, in multiple browsers, and so on.
It needs to be secure, performant, maintainable, and more importantly, we need to understand every line of code, because we need to be able to fix bugs, add features, and maintain it for a long time.
There is nothing worse than having a bug in production, being woken up by a call at 2 AM, and not being able to fix it because you don’t understand the code. Yes, some bugs will be easy fixes, especially with AI. But eventually you will hit this mother of all bugs, caused by a hallucination, or by a bad architectural decision, that will not be an easy fix, and you will loose clients and money because of it.
We laugh and make memes when Github or AWS or Claude have an outage (most likely caused by AI generated code), they are too big to care (for now). But imagine what will happen to your small company if you have an outage caused by AI generated code, and you don’t know how to fix it or if it takes days to fix it. What will happen to you if you were the one that put that code in production?
As I’ve said before, vibe coding at a company level is not really a thing, and it might never be. That doesn’t mean people don’t try it, especially token vendors trying to sell more tokens to mammoth companies with huge budgets:
- Cloudefrare tried rewriting Next.js: it turns out it did rewrite only some parts
- Anthropic tried writing a C compiler from scratch: it was about 80% there.
- Cursor tried writing a browser from scratch: it was about maybe 80% there.
Good for demos or MVPs, and hype on social media, but not for production.
These are big companies with huge budgets, and they still couldn’t get to 100%. They afford to spend a shit load of money to go nowhere. Do you?
I’m a professional software developer, I am working for a software company, and I still dread the moment when I have to merge code that was even partially generated by AI. I review it line by line and still have the nagging feeling that something might go wrong. Again, I might be the slow one.
But from what I can see today, a lot of companies are going to fail if they rely too heavily on AI generated code. As a result of amassed tech debt, sooner than later, they will not be able to maintain or build their products anymore.
Company of One
Nobody knows what the future will bring, I wish I knew. Probably a lot of software development jobs will be gone. Huge amounts of low quality software will flood the market. Lots of companies will be hacked and lots of people will lose private data and money.
How can a software developer survive in this new AI driven world? I have no freaking idea.
We need to find sane ways to use AI to our advantage.
We need to lean things fast, on our own. No company will pay just to train us anymore.
We need to learn to do adjacent things! No matter what your specialty is, you need to be able to do other things too: frontend, backend, devops, design, product management, marketing, sales, accounting. Jack of all trades, master of none, is sadly better than a master of one in this new world.
Basically you need to act as a Company of One: you need to be able to do all the things that a small company does, but by yourself.
And what should that company build? Personal software, of course! But here is the twist: you need to build personal software for other people.
I know it’s easier said than done but here is a plan that might work:
- Find a niche, find a real problem, find a real customer, build something that solves their problem.
- Build something small and simple enough so it can be built with AI but understandable enough so you can maintain it and fix it when it breaks.
- Sell it cheap enough so it can be bought by individuals or small companies.
- Make it good enough and cheap enough so it’s not worth it to do it themselves with AI.
- Make it personal enough so it can’t be easily cloned by influencers and shady individuals or companies.
Software engineering is about finding the right size pieces and making sure they are the right pieces. Knowing how to recognize what those pieces are, and how to design them, and how to put them together is something that requires years of experience before you are really good at it.
If you have that experience, and use it to build personal software for other people, you might be able to survive whatever is coming next.