For a long time, I listened skeptically to claims that the era of Software as a Service (SaaS) was doomed due to the advent of Large Language Models (LLMs). This theory posits that since SaaS is purely a software product, companies pay for it because it's cheaper to buy than to develop. As LLMs dramatically reduce the time and cost of creating custom software, most SaaS vendors could go bankrupt, as teams would prefer to generate the necessary software for tasks such as ticketing systems, meeting management, or CRM.
My skepticism stemmed from the belief that SaaS, such as HR software, offers much more than just software. Such systems maintain compliance with regulatory requirements (e.g., vacation pay rules in different countries), ensure data accuracy (e.g., payroll in accordance with local regulations), and continuously update in response to changes in both external and internal environments. All of this seemed too complex to be easily replaced by generated code.
However, this week I experienced firsthand how incredibly easy it is to replace certain types of SaaS using LLMs. On my website, I had a testimonials section that displayed posts from LinkedIn and X. For this, I was using a small service for which I paid $120 annually. I had been a customer for four years, logging in at most once a year, primarily to retrieve the annual invoice for my accounting.
My latest attempt to get an invoice, however, proved frustrating. The billing section was dysfunctional, and support sent me a broken link. This dysfunctionality – paying for a service with non-working billing – was the trigger for me to think: why pay for something that doesn't work when I could fix it myself?
My specific use case was much simpler than a full SaaS platform: I needed to display existing testimonials similarly, easily add new ones (e.g., storing them in JSON format), and ensure it looked visually appealing. To my surprise, the entire process from start to finish took me exactly 20 minutes with an AI-based code generation tool.
I proceeded straightforwardly: first, I asked the AI to propose a plan to remove the third-party dependency and host all testimonials within my codebase (a GitHub repository deployed on Netlify). I slightly modified the plan to be modular – testimonials were in a separate JSON file and generated into HTML as part of the build process. I then added this build step locally and as a build trigger on Netlify, tested the solution, fine-tuned the user interface, and deployed the finished functionality. The resulting appearance was visually identical to the previous version, but without any dependency on an external service.
What does this mean for software engineers? Primarily, developers are much more accustomed to using the command line for future updates than ordinary users. To add a future testimonial, it's now sufficient to engage an AI agent to insert it into my codebase, and I then verify that everything looks correct. For me as a developer, this is not a problem, but for someone less accustomed to verifying AI-generated code output, it could be more complex. It's also much faster for developers to "port" a SaaS solution than for anyone else, because they have a deeper understanding of selecting the right frameworks and debugging the user interface. Frankly, rewriting third-party functionalities is fun and interesting, and I highly recommend such projects for gaining practical experience with these tools.

Need a hand with your website or app?
Get in touch and I will reply within 24 hours with a proposal for the next step.
And what does this mean for SaaS products? Rebuilding an entire full-fledged SaaS is still much more complex than rebuilding a specific use case. In my case, I
