← All work

Quandri · 2026

Agentic AI Analysis, Live for Every Customer

Taking an agentic policy-analysis experience from a flag-gated rollout to general availability, by moving who-sees-what out of feature flags and into backend product configuration.

Generally available to every eligible customer. Three feature flags retired, no manual targeting left.

DjangoNext.jsLLMsProduct configuration
  1. Customer's product config
  2. Backend decides the experience
  3. Frontend renders what it's told
  4. Flags retired

The problem

Quandri's agentic analysis reviews insurance policies with an LLM-driven workflow instead of fixed rules. It worked, but rolling it out was manual: every customer that got the new experience had to be targeted by hand across several feature flags, and the frontend had to know which combination of flags meant what.

That's fine for a pilot. It doesn't scale to "everyone who should have this, has it", and every hand-maintained flag is a place for a customer to quietly end up in the wrong state.

The decision: configuration, not flags

Flags are great for releasing code. They're a poor place to store product facts, like "this customer is on the agentic plan". So the rule became:

  • The backend owns the decision. A customer's product configuration says whether the agentic experience applies, and the API returns the experience to render.
  • The frontend stops guessing. It renders what the backend tells it, instead of reconstructing the answer from flag combinations.
  • Flags only guard the release, and get deleted once the release is done.

This is the same "thin frontend, fat backend" boundary I push for across the codebase: logic that decides what is true lives on the server, where it can be tested once and reused everywhere.

What I built

  • The configuration model for the agentic experience, including fixing a case where a live customer saw an empty configuration page.
  • A redesigned results table for the analysis output. It started as one very large refactor, which I split into a series of small, reviewable pull requests so the team could review it properly and ship it safely in steps.
  • A clear marker in the UI for which analysis mode produced a result, so support and customers can tell at a glance.

The result

The agentic analysis reached general availability for every eligible customer. The experience is driven entirely by backend configuration, three feature flags were retired, and nobody has to maintain per-customer targeting any more. Onboarding a new customer to the experience is now a configuration change, not a flag hunt.

What I took away

Retiring flags is part of the feature, not cleanup for later. A rollout isn't finished when the code ships; it's finished when the scaffolding that shipped it is gone.

Agentic AI Analysis, Live for Every Customer · Case study | SimpleCode by Amine Amine