Inspiration

Underwriters work through large queues of submissions, gathering information across policies, claims, locations, and buildings. Every submission requires attention, and the available evidence varies considerably.

Federato’s challenge gave us a practical problem to solve: help an underwriter decide which submissions deserve attention first and explain why.

We approached Astra Risk from the workflow outward. We wanted the reviewer to understand the opportunity, identify the uncertainty, and know the next useful action.

What it does

Astra Risk helps underwriters prioritize submissions and investigate individual risks.

The Federato triage flow discovers the API schema, retrieves submissions and related evidence, and ranks records against the supplied commercial-property appetite guidelines. Each result includes a match score, priority score, determining factors, and source evidence.

Review checklists turn findings into actions, including requesting complete loss runs, confirming construction details, or escalating an appetite exception.

The case workflow handles individually entered submissions. It extracts facts, applies the same appetite checks, supports follow-up information and public- source research, and maintains an activity history through the underwriter’s decision.

Triage and cases currently have separate entry points. Final decisions remain with the underwriter.

How we built it

We started by understanding the carrier guidelines and the relationships in Federato’s data.

Astra authenticates server-side and discovers the available resources, fields, and references. A schema-aware query planner retrieves relevant evidence, follows relationships, and paginates the queue. Query traces show what was requested and the reason for each request.

Policy evidence supplements a submission only when the link is unique and the insured, insurance line, and effective date agree. Unresolved relationships remain visible as evidence gaps.

Model-assisted extraction interprets broker information. A deterministic scoring engine applies the eight appetite criteria, producing factor-level results and explanations. We documented our scoring weights and priority caps as application design choices.

We built the application with Next.js and TypeScript, using PostgreSQL-backed jobs for case processing, retries, and follow-up. Optional research includes Browserbase source capture and address-based public property context. Source availability and research failures are recorded in the investigation history.

Unit tests, evaluation fixtures, browser tests, and monitoring helped us validate the implementation throughout development.

Challenges we ran into

Understanding the meaning of the data took careful work. Submissions, policies, requested limits, insured values, claim counts, and loss dollars each serve different purposes. We had to preserve those distinctions throughout retrieval and scoring.

Incomplete evidence created another challenge. Establishing a passing five-year loss history requires adequate coverage of that period. Linking a policy requires enough information to confirm that it belongs to the submission being assessed.

The live queue also contains several insurance lines, while the supplied guidelines describe commercial property. This produces many scope mismatches and appetite exceptions. We made those reasons explicit and added separate visibility into missing information.

Presenting that detail clearly required iteration. The interface now leads with the recommendation and next action, with scoring details, evidence, and query traces available for deeper review.

Accomplishments that we're proud of

Our latest live verification authenticated against Federato and ranked all 158 submissions, including records with incomplete evidence and unresolved policy links.

We implemented conservative record matching, consistent appetite checks across cases and triage, and source-linked review tasks. These safeguards make the recommendations easier to inspect and explain.

The case workflow supports pausing for information, resuming analysis, and recording a human decision. Reviewers can also export triage results as editable slides or print them for discussion.

Our latest verification passed 98 automated tests, covering regression behavior across the application. Independent underwriting-accuracy evaluation is an area we plan to develop further.

What we learned

Useful underwriting recommendations depend on clear evidence requirements. Identifying the exact missing fact or document gives the reviewer a concrete way to move the submission forward.

We learned to track data availability, source reliability, and guideline compliance separately. Each affects how confidently an underwriter can use a result.

We also learned how directly integration decisions affect the user experience. Schema discovery, relationship validation, pagination, retries, and actionable error messages all contribute to a dependable workflow.

The Federato guidelines emphasize reasoning and explainability. That became our engineering standard: every recommendation should have a traceable path through the retrieved evidence, the applicable rule, and the proposed next action.

What's next for Astra Risk

Our first priority is connecting triage directly to cases. Selecting a Federato submission should open an investigation with its evidence, provenance, and unresolved questions already attached.

We also plan to introduce clearer scope controls so underwriters can focus on relevant property submissions while retaining visibility into the rest of the queue.

We want to expand evaluation with independently reviewed cases, conflicting evidence, schema changes, and external-service failures. This will help us measure ranking usefulness, evidence quality, correctness, latency, and cost.

Our goal is to give underwriters a dependable path from submission intake to a supported decision, with clear evidence and practical next steps throughout.

Built With

Share this project:

Updates

Submission history