The Era of User Personalized Software is here
The dream of fully customizable interfaces for each user will become reality
We’re Leaving The MVC Era
For the past decade-plus, cloud software products have had roughly this architecture:
A Static back end, very structured set of entities with defined relationships between each entity
A series of views with a variety of ways to see the back end data, with a specific limited set of configuration options (filter, sort, search, etc.) for each user
A logic layer that interpolates between the back end and the various views
Basically, they’ve all been variations of the “model, view, controller” framework. (engineers reading, I know this is oversimplified but stick with me)
This has allowed for a very limited amount of customization at the user level - at best a user gets a specific set of saved views with filters and sorting options. But it’s the same set of options available across the entire user base.
Due to this architecture, software has been very limited in the set of problems it can solve. A single, shared user interface has to be built for the average end user to understand and accomplish their daily tasks. This means it has to be designed for a specific set of use cases that are common across the entire customer base, inherently limiting the level of customization possible.
The promise of “low code” or “no code” apps has been around for a while, and while there are some great products out there, none are building truly personalized experiences or have been able to displace the large incumbents. The core of their challenge is they are still tied to the MVC era architecture.
That’s all going to change with the next generation of Generative AI-enabled products.
Interface Principle: Complexity is dictated by Frequency and Precision
To understand the personalized software era, it’s helpful to frame it with a principle I’ve developed around interface design - the complexity of an experience should be based on the user’s frequency of usage and level of precision required.
For example, an airline pilot gets trained for thousands of hours on how to fly a plane. Airplane control needs to be highly precise, so it works best to have a wide array of different buttons and very specific knobs to control the plane. They would be completely ineffective if there were just a single chat window to control the plane. Other examples include music production, professional photography cameras, and surgical equipment.
On the other hand, an employee of a company that once a month needs to find out how to submit an expense report wants the exact opposite. That user wants a simple, familiar interface that has no learning curve and gets them their answer quickly. It’s okay if they are given several responses and can figure out which one is correct. This is where a universal interface like a search or chat works well.
In the MVC era, this resulted in a landscape that looked something like this:
Low-precision tasks were solved primarily via search - a single universal interface that enables searching the company wiki, searching on google, etc. For consumers, examples of low-precision tasks are aggregators such as social media feeds and news feeds.
High-precision tasks with frequent usage were areas of huge success for SaaS products, resulting in the endlessly configurable horizontal SaaS behemoths like Salesforce, ServiceNow, Atlassian, etc. But even these tools ran into their limits, with their power users being siloed into a specific function (Sales for Salesforce, IT for ServiceNow, Engineering for Atlassian).
High-precision tasks with infrequent usage have been a dead zone for SaaS products and have primarily been solved by custom internal tools.
The Personalized Software Era
In the Generative AI world, we are already seeing a major shift for the left side (low precision) of this diagram from Search → Chat. As an aside - the mistake I see a lot of companies making is trying to just slap a chat-focused interface for tasks on the right side (high precision). A user doesn’t want a universal interface for a task that is very specific to their role, there’s still value in interfaces designed for specific tasks.
Generative AI enables a fundamentally different architecture - one that will unlock a whole different way to solve high precision use cases. Here’s how it will look:
Static back end - a structured set of entities with defined relationships between each entity (for now similar to MVC, but could become dynamic with things like vector stores and composable graphs)
An interactive view where the user can dynamically describe and iterate on how they want to see the data. Looks something like using natural language to interact with an agent that can create and update a custom interface for that product. Behind the scenes the agent is writing and updating code that is then hosted by the product.
A constraints layer that specifies the edges/boundaries of what is possible to show the user. The product dictates what elements are available, what types of logic queries are possible, design systems, and more.
These products will have default views for when a user logs in, and will then allow for the creation of a fully customized interface. Customization can be done by each individual user, allowing for user-level personalization. At larger enterprise organizations, there would also be admin-level ability to create default customizations or constraints by role or department.
User-personalized products will be highly disruptive for all high precision categories. It allows for an even deeper level of precision for a single user’s task, or a company’s unique workflows. Imagine:
A customer support agent building the perfect view with their own hotkeys, 3rd party data integrations, and error log to be able to diagnose and fix customer issues in their area of expertise.
An engineering manager designing the exact view of their team’s sprints, blockers, roadmap, and deployments, while each engineer on their team can see pull requests, commit messages, deployment issues, and their tasks in the way they prefer.
A VP of sales creating the perfect view of their quarterly attainment, deals that need attention, and reps that might need help.
All through a simple natural language conversation with the product - no custom development required.
Many categories that have been relegated to internal tooling such as analytics dashboards and customer success tooling can be productized and scaled. The products that have been tried and failed many times such as personal CRMs could be scaled into larger products.
Pete Koomen outlines a similar vision for what AI-native software will look like in AI Horseless-carriages, his concept of users writing system prompts is basically them building the interactive view layer, and his concept of tools is the constraints layer.
I’ve only found a few products that allow for truly custom experiences per user. Lindy, ActivePieces, and other agent builders on on right right track. 0.email look promising, and Retool has pivoted nicely into the AI era.
New architecture, new problems
This new architecture will create a new set of problems, each of which are probably interesting product opportunities in themselves:
Security and privacy - How do you ensure users can’t do SQL injections or malicious attacks in a world where they can literally write code that is hosted on your product?
Forward compatibility - As you iterate on your product, especially making changes to the back end data model, how do avoid breaking every user’s custom built experience?
Analytics and A/B testing - How do you measure the usage of your product if every user has a customized experience? What does an A/B test look like? Cluster based experimentation is the frontier here.
Design systems - How do you enforce a consistent design system to ensure familiarity across your product?
Support - How do you debug customer’s issues when they’ve built a fully custom experience?
Possible Futures
I am personally extremely excited about the next era. The existing SaaS products we have are for the most part not loved by users, charge extremely high prices, and require enormous amounts of administration. There’s a few possible scenarios that could play out:
Incumbents adapt, letting users build custom interfaces in Salesforce, ServiceNow, etc. This seems least likely to me, it’s a classic innovator’s dilemma and these players are likely to be disrupted.
New startups enter the market and you get next generation the next generation of CRM, ITSM tools that are AI-native and deeply personalized by company and user. This seems most likely to me for enterprise software.
The next generation of AI-personalized products are flexible and can be personalized enough that they become fully horizontal. A single product can solve accounting, project management, ticketing, CRM, and more. In this world, the next generation of startups are primarily building infrastructure and constraint tooling. This is likely to happen in certain categories and will be most disruptive.
It’s still early days and the opportunities are huge. If you’re building a user-personalized software product, I’d love to hear about it! I’ll be writing more about AI era software and product strategy, subscribe to get the latest.
Thanks for laying this out so well. There's great opportunity for this in the HR/People Ops world.
Our product architecture at ChartHop has a lot of pieces that allow us to be highly configurable at the organization level. And I think any B2B SaaS products that have that configurability have the ability to adapt and empower the configuration at the user level.
One big design challenge: can you make the building of the configuration easy enough to make this work? Can and will that sales manager actually build out their perfect interface just like they want it to be?
Wouldn’t making the product different for everyone be less desirable?
Part of the sell of most enterprise software is penetration and building skills around it - why people put microsoft word on their resume. Feels like this would be a training issues at most companies.