Thriving Alongside Rapidly Evolving Software

In December, OpenAI released an update for ChatGPT, supporting project folders, allowing users to group together chats and files. For many, it was a small but important update that helped them better organise their resources and conversations. However, for a small number of developers who had built symbiotic, complementary software to help users do this before it was available in ChatGPT, it was a deathblow to their nascent businesses or volunteer projects. This is a common scenario, but does it always have to play out this way?

Systems, particularly those based on software, are evolving at an increasingly rapid rate. The rapid adoption of AI during the last two years has almost certainly accelerated the process more than at any point in history, or at least placed it on par with previous innovations such as compilers and high-level programming languages. This creates a rich environment where niches constantly emerge as new products and services are introduced. However, this symbiotic relationship is asymmetrical at best. Software that fills a micro-niche or missing functionality in another product or service that is rapidly growing and evolving exists in a particularly dangerous space—one that can quickly become hostile as the software expands its capabilities. There are three viable approaches to dealing with this challenge while building software that users find valuable.

The first approach is to fill the niche, understanding that it addresses a temporary gap in the value chain. You acknowledge that your ability to generate revenue is time-bound and therefore prioritise rapid customer acquisition while balancing quality and maintaining and building your brand. When the inevitable day arrives, you have planned for it and are ready to seek out the next opportunity to fill a new niche in the technology landscape.

A second option is to build a product or service to complement what's missing and then look for ways to build a defensible moat around it. For example, if you believe that ChatGPT will release support for projects, what additional features would still differentiate your software after the release? By speaking with users and drawing on your own experience, you may realise that once you introduce projects, you'll then need to be able to group them together, create teams and control access to groups of projects and implement enhanced search tools with filters. Implementing some or all of these features might be enough to stay relevant.

A third option is to create software in a space that benefits from rapidly evolving software but one that is unlikely to be expanded into, at least not without a significant change in strategy. These opportunities fall into two groups: on one hand, you have software that has evolved to integrate with and leverage new capabilities in this rapidly evolving software. Examples include note-taking applications such as Notion, Evernote and Obsidian that have integrated AI into their products as ChatGPT has grown. Then there are new products that emerged specifically because of the opportunities created by ChatGPT and similar models — software with a more singular purpose. Examples include the many agentic frameworks that have appeared, AI-assisted IDEs, and Generative AI-assisted media tools.

If you are developing software, it would be wise to understand the risks posed by software you have a symbiotic relationship with, especially if it is rapidly evolving. If your investigation reveals a real chance of being disrupted by a release in the next few months, it's time to get closer to your customers. Build a wider, deeper moat to protect your future interests.