To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.
― Ralph Waldo Emerson
An interesting thing came about with Web 2.0. Application experiences started to become personalized. Even though the features were the same, the version of the application you experienced on Facebook, LinkedIn, or Youtube is fundamentally different than the one I experience. The personalized experience is based on who interacts with what in a dynamic way. In a deluge of content spanning innumerable lifetimes, being able to determine what is relevant to the individual becomes paramount. Doing this better creates a competitive advantage.
We're facing a similar moment right now with software and AI. Software itself is about to become personalized. This isn't the same as personalization software, of which I've written about previously. This is software which is built and personalized to a single person or organization. The features, interface, capabilities, and usage are all created for the specific organization to use. Dharmesh Shah, the founder of Hubspot, might call this "SoloWare" - software built for one person. He defines the motivations for doing so as:
1) There's something I want software to do for me -- and what I specifically need doesn't seem to exist (or I couldn't find it).
2) I'm looking to learn some new technology or try some new API or tool.
3) Building software brings me joy.
Developing software is exponentially easier when you have one user.
You don't have to worry about the UI.
Or documentation.
Or training.
Or support.
And most importantly, you don't have to worry about shutting it down if it's no longer serving a useful purpose.
However, we're going beyond this. Personalized software will become production software that runs organizations. As individuals, teams, and companies wield agents for more of their work, the software they create will become catered solely to the organization, not to be used by other organizations.
Motivations
People don’t buy tools; they buy solutions to problems. When you buy a software solution, you're hoping it solves the problem you have. But more often than not, software is created to deal with average situations and is not catered specifically to your situation. This results in you modifying your process to fit the software. This can be non-optimal, particularly when you have a very good internal process. The alternative is to create custom software designed specifically to fit your problem.
Until recently, creating custom software was very costly in both money and time. Now, those costs are plummeting. Amazon recently announced they saved 4,500 years (yes years) of developer time by using AI to assist in migrating "tens of thousands of production applications" to Java 17. Stunning savings. Those same efficiencies are becoming available to everyone that creates software, and even to those that can't.
As software becomes increasingly cheaper to create, its personalization becomes a natural byproduct. As the cost of software creation approaches zero, people and organizations can tailor solutions to address every unique problem and process they encounter. This abundance of software enables organizations to craft tools perfectly suited to their specific needs. In many business contexts, speed is critical to seizing opportunities. Whether it’s generating AI-powered code in under a month, a week, a day, or even an hour, rapidly deploying tailored solutions can be the difference between capturing or missing an opportunity. Ultimately, software is about automating processes and enabling faster execution. As the barriers to creation continue to fall, we’ll see a world where tailored, personalized software is the default for innovation and efficiency.
Outrageous Supply
When the cost of something drops to near zero, the available supply spikes. AI is enabling a massive increase in the supply of software by reducing the time and cost it takes to write software. We're approaching a stage where entire applications can be created in under an hour. What does the world look like when software can be created so quickly? The relative value of software goes down. We start to think less about usage and more about outcomes. Currently you pay for software based on usage, but it's much more likely that business models will shift towards paying per delivered product or outcome. Paying for a delivered product is partially aligned with the buyer. Paying for outcomes is the most aligned with the buyer but is hardest to measure.
When so much software is easily available, such that a high-schooler can create clones of modern applications, what becomes valuable? How do you find the software you need? How do you evaluate quality? How do you ensure digital security? Value likely accrues in distribution channels, customer insights, and the things that can't be automated. While marketplaces might arise to find software or agents, determining how to find what's relevant to you will become crucial. There comes a point where the amount of time it will take to search and vet an existing piece of software will have to be weighted against spending the time to have an AI create the correct software for you.
One counter-intuitive thing that will arise is the demand and therefore value, for high quality, extensive software will be enormous. This stems from two parts. First, if you think about the distribution of software created, the majority of it will be of mediocre quality at best, from average people creating average software. It is much harder to create something great; therefore great things are much more valuable. Second, there exists problems AI can't solve and also problems that are very hard to communicate readily with language. Those problems that can't be solved off the shelf or with minimum effort, become areas where more value can accrue. At the same time, it takes a more experienced operator to get the best out of an AI coding engine. A better coder can steer the AI in the right direction, knows what's needed, and can quickly validate if the solution is correct.
Implications
Have you ever used a piece of software for years without using key features to only realize they were there when you needed them? Maybe it was VLOOKUP
in Excel, maybe it was sharing your location with a loved one. How did those features get there? They were built from user issues, requests, and dedicated people working to make the software great.
When software becomes personalized, it loses the ability to improve based on the usage and experience of many people. A normal application you might use today, such as a web browser or customer management system, has gone through many versions and upgrades. Improvements were based on thousands or millions of user interactions with the software. However, with a single user in personalized software there's a loss of shared experience. No longer will users across companies be using the same software for the same task. No longer will those users help improve the software for others across locations and across time. No longer will there be conventions or generalized trainings for mass market software. Many different pieces of software, many different modes of thought.
Personalized software also has the potential to make software more fragile. If the average piece of software is made by a non-expert for a specific need, there is not the same attention to detail on speed or security hardening. This could result in processing times becoming slower than expected (compared to modern software) or leaving an organization with many more security vulnerabilities.
Personalized software implies a mass evolution of software, solving similar problems over and over. There are many ways to solve the same problem that are valid, as anyone that has played with Project Euler can attest. However, some ways are better than others. How do you know which one works the best? Evolution implies that feedback is being provided through the survival of different specifies. For personalized software, most people might think the AI model generating code will get the feedback of what is successful but that's not true. The AI models only get feedback (potentially) on the final end state of generated code, not necessarily how successful it was. Even if the models had usage rates, having the highest usage across the suite of similar solutions doesn't mean best. Perhaps they would look at the growth rate and revenue of the creating company (hard for private companies) but the highest growth has a lot of other confounding variables. Figuring out how to share information across similar but disparate solutions will be very valuable.
Another very valuable consideration is how to manage and maintain all of this personalized software. Amazon has armies of engineers handling its 30,000+ production applications. In the new world, how does a single individual manage 100, let alone 1,000 applications?
Questions
Personalized software is ultimately a shift from 'fitting the process to the software' to 'fitting the software to the process'. This new future has more questions than answers. Disruption at this level usually does. Here's a few questions that arise from this discussion alone.
How do you know if the software is made well and handles everything you need? How do you judge a contractor on their work output when you are unskilled in that area?
What new business models will emerge when software creation becomes inexpensive and tailored to individual needs?
How will users discover and evaluate high-quality software amid an overwhelming supply of personalized applications?
What measures can organizations take to ensure the security and reliability of software created rapidly by AI?
How can AI models be trained to generate optimal solutions when feedback loops are limited due to personalization?
How will intellectual property rights be managed when software is generated on-demand by AI for individual users or organizations?
How will the shift from usage-based pricing to outcome-based pricing affect software monetization and customer relationships?
How can organizations effectively manage and integrate a multitude of personalized software solutions within their existing systems?
How can users and organizations identify the most effective software solutions among numerous AI-generated options?
How might the focus on personalized software affect collaboration and standardization between different organizations and industries?
Do you have more questions than these? I'd love to hear them along with your thoughts on the future. Buckle up out there as the future is going to be both exciting and bumpy.