There’s been skepticism about the belief that large language models (LLMs) could eliminate software-as-a-service (SaaS). This belief is based on the idea that:
- SaaS is a purely software-driven product. Customers opt for SaaS because purchasing it is more cost-effective than developing it in-house.
- LLMs significantly lower the cost and time required to create custom software.
- As a result, many SaaS vendors might face challenges as companies can use LLMs to develop necessary software, such as ticketing, meetings, or CRM.
My skepticism stems from examples like Workday, an HR software, offering more than just software. Workday ensures compliance (e.g., holiday pay requirements in different countries), accuracy (e.g., payslips per local regulations), and adapts to changes in environments over time.
However, I recently experienced how LLMs can easily replace SaaS. My website, pragmaticengineer.com, features a testimonials section that showcased LinkedIn and X posts. This was previously managed by a $120/year service, Shoutout.io:

The backend was designed simply for adding, editing, and managing testimonials.

Having been a customer for four years, I recently logged in for an invoice but discovered broken billing. In response, support sent me a faulty link instead of a working invoice. This begged the question: Why pay for flawed SaaS?
I then considered if I could recreate my use case using an LLM swiftly. My requirements were much simpler than the SaaS:
- Show existing testimonials similarly
- Provide an easy way to add new testimonials, such as using a JSON format
- Ensure visual appeal
To my amazement, with Codex, it took only 20 minutes. Here’s the process:
- Consulted Codex for a strategy to remove the third-party service and integrate testimonials in my codebase (GitHub repo, hosted on Netlify)
- Modified the plan: Adopted a modular approach with separate JSON files for testimonials, converting them to HTML with a compile-time build
- Added this build step locally and as a trigger on Netlify
- Tested the solution
- Enhanced the UX and established a schema
- Deployed the final solution
The outcome appears identical to before, but now I’m free from third-party dependency!
Implications for SaaS products and software engineers
For software engineers:
- Devs may find command line updates simpler than regular users. To add testimonials in the