Phigz

Product engineering

How to add AI to an existing SaaS product without rebuilding everything

Phigz · 26 August 2026 · 3 min read

An existing product already has accounts, data and a reason people log in. Adding AI does not mean replacing that. It means choosing one job the product already does and making that job faster or clearer with a model, while the rest of the system stays in charge.

Start from a job, not from a model

Look at a screen people already use. Where do they copy text into another tool, skim a long record, or write the same kind of reply every day? That is the candidate. A blank “Ask AI” box on the dashboard is easy to ship and easy to ignore, because it is not attached to a task.

Write the feature as a sentence a customer would recognise. “Summarise this account before I join the call.” “Draft a reply from the ticket and the last invoice.” “Group these imported rows by the categories we already use.” If you cannot name the screen and the moment, you are not ready to integrate anything.

Use the permissions you already have

The model should see what that user is allowed to see, and nothing that sits beside it in the database because it was convenient to fetch. This is the constraint that keeps an AI feature from becoming a new access path. Put the call on the server, behind the same session and the same queries the screen already uses.

Do not send a wider export “so the answer is better” unless that export is already legitimate for the person who clicked the button. If the product’s access rules are unclear, fix that boundary before you add a model. That is product modernisation, and it is often the real first project.

Decide what the model must not do

  • It suggests. It does not silently update the record.
  • It drafts. A person sends.
  • It classifies. Your existing rules still reject an impossible status or a missing required field.
  • If the model is slow or unavailable, the underlying screen still works.

Those four rules prevent the feature from becoming a second, weaker version of your product logic. Validation, permissions and billing stay in ordinary code. The model handles language and variation, which is where it is useful.

Put the result where the work already happens

Show the summary on the account, the draft in the reply box, the suggested category beside the field. Offer an explicit accept, edit or dismiss. A separate AI destination forces people to context-switch, and it hides whether the suggestion was used.

Keep a small set of real examples before you launch: ordinary records, messy records, and records the feature should refuse. You are not proving that a model is generally clever. You are checking this feature on your data. That evaluation set is also how you notice a later prompt change has made things worse.

What you can leave alone

You do not need a new frontend stack, a vector database, or an agent framework because a blog post recommended them. Add retrieval when the knowledge does not already fit in the request. Add an agent when the path branches across tools. Until then, a server-side call with a clear input and a structured output is enough.

This is the same restraint we use in AI product engineering and when a SaaS MVP is getting its first intelligent feature: one job, inside the product people already trust, with the old path still available.

  • SaaS
  • AI features
  • Modernisation