A leading annuity provider's decade-old third-party order platform buried its logic in one person's head and resulted in costly errors. We're replacing it in-house using agentic AI engineering.

For 15 years, one of the country's largest annuity issuers has routed every producer application through a third-party, per-seat order-entry platform. The system sits between producers and the business without meaningful awareness of the company’s internal data model, generates static PDF forms, and depends heavily on configuration knowledge concentrated in a very small number of people.
That creates friction throughout the application process. A producer might believe they've submitted a $100,000 annuity purchase, only to have it returned because of a missed checkbox, an incomplete disclosure, or a state- or product-specific requirement that was not enforced at entry. Those rules vary significantly by jurisdiction, product, producer, and customer, yet much of that behavior has become difficult for the company to inspect, reason about, or evolve.
At the same time, the company is moving away from form-driven, vendor-dependent workflows toward a digital platform it can own end to end, eventually supporting partner APIs and white-labeled experiences. Replacing the legacy order-entry system is the first step.
We treated the legacy platform as an artifact to be reverse-engineered rather than simply reproduced.
Reconstructing the system from its source material. The legacy application was backed by a CMS, giving us access to an XML export containing much of its content, configuration, and rules. AI agents helped crawl and analyze that material, while we worked closely with the internal stakeholder who best understood the existing platform to separate business-critical behavior from years of accumulated legacy configuration.
That work converted an opaque system into an explicit description of what the platform actually needed to do.
Spec-driven, agentic development. Work begins with written specifications rather than code. Agents research the problem, produce and refine specifications, and then implement against those specifications using tools including Claude Code. At minimum, the team works through a research-plan-implement loop; for more complex problems, multiple specialized agents work in parallel or review one another’s approaches before implementation is accepted.
The same principle applies to validation. Browser-based acceptance tests are written and executed independently against the application so that expected behavior is captured in executable form rather than left solely to manual review.
Undocumented logic into a backlog. Analysis of the legacy system produced roughly 150 candidate stories. We built a lightweight prioritization tool that allowed product owners and leadership to score those stories from 1–100 and continuously re-sequence the backlog based on business value, feasibility, and delivery priority.
Separating business data from presentation. Rather than reproducing the legacy platform’s internal structure, the new design establishes clearer system boundaries. Business and product data remain owned by the company’s upstream source-of-truth systems, while a new service manages the structure and layout of dynamically generated application forms.
The result is a reusable form engine driven by the company’s canonical data model rather than a collection of disconnected static forms.
A working demonstration – dynamically generating application forms and pulling live data from the company's in-progress canonical data model – secured continued executive sponsorship and funding. The full architecture goes before the company's review board next month.
The reverse-engineering effort also turned 15 years of vendor configuration into roughly 150 scoped stories, which the client's product owners and leadership reviewed, prioritized, and turned into a working roadmap.
More importantly, previously opaque behavior is becoming explicit. Product data and business rules stay in the systems designed to own them, while the new form service handles application structure independently – a foundation for future digital distribution channels, including partner APIs and white-labeled experiences.
The engagement is also influencing how the broader engineering organization approaches AI-assisted software delivery. The project is demonstrating a repeatable model in which AI is used not simply to generate code, but to research existing systems, produce specifications, implement against those specifications, challenge proposed solutions, and validate completed work.