Sansa Technologies / Case study
Less paperwork. A faster placement.
How do you move an insurance submission forward without re-entering the same information?
Intake time per submission
Fields auto-populated
Forms generated in seconds
Reported in the supplied CV. See the evidence note below for scope and measurement limitations.
01 / The situation
Specialty insurance submissions arrive as a pile of documents. Brokers, underwriters and carriers were re-keying the same data by hand — ~45 minutes per submission, across half a dozen forms.
The CV describes direct work with brokers, underwriters and carriers on specialty insurance placement, from submission to bind.
What made it an integration problem
Uploaded documents, third-party property and hazard data, ACORD forms, carrier supplementals and signatures all belong to the same workflow. The integration spans these different formats and destinations.
02 / My contribution
The parts I built.
- 01
Built an AI-powered document extraction & intake engine using Claude, OpenAI and Gemini models. It auto-populates ~70% of submission fields from uploaded documents and third-party property / hazard sources (OCR, HazardHub).
- 02
Engineered an automated form generation & e-signature pipeline (Anvil) that produces 6+ ACORD forms (125/126/140) and carrier-specific supplementals in seconds instead of hours.
- 03
Added carrier appetite matching that routes each submission to the markets actually likely to write it.
03 / The system
Follow the information.
- 01Uploaded documents / property data↓
- 02AI + OCR extraction↓
- 03Structured submission intake↓
- 04Anvil forms + e-signature↓
- 05Carrier appetite matching
Conceptual workflow reconstructed from the CV. This is not a screenshot of a client system.
04 / An engineering reading
Why the connections matter.
Extraction was connected to the next action: populate the intake, generate the forms, collect the signature and match eligible markets. The delivered scope goes beyond returning text from an LLM.
The tradeoff to pay attention to
The reported ~70% auto-population is a useful boundary: it is not evidence of full autonomy. A review experience must make the remaining work clear. Exact confidence thresholds, review rules and failure handling are not documented in the supplied CV.
This section interprets the delivered scope. It does not claim an undocumented decision process.
05 / What supports this story
Keep the claims close to the evidence.
The CV reports intake falling from approximately 45 minutes to under five, roughly 70% of fields auto-populated, and 6+ forms generated in seconds. Ahamed clarified that the AI work uses Claude, OpenAI and Gemini models, not Claude alone. Outcomes remain résumé-reported; no independent benchmark or production screenshots were supplied.
Read the source CV ↓06 / Current platform context
The work after
the AI answer.
I’m currently contributing to a specialty-insurance placement platform at Sansa. The interesting part is everything around the model: understanding a broker’s email, connecting documents to the right case, and keeping the next human decision clear.
A broader view of the platform I work within, separate from the CV-reported results above.
- An inbox, not a blank prompt
Emails and documents start the work.
- Evidence becomes structure
Information is organized into a case.
- People make the next call
Review and placement connect the pieces.
- The work keeps moving
Quotes, forms and policy steps follow.
A stack with a job to do.
Documented platform tools, grouped by the work they support.
Agentic intakeTurn an incoming request into useful next steps.Vercel AI SDKClaudeOpenAIGemini
The platform documentation describes tool-calling intake, document-grounded answers and review paths. Its package metadata declares Anthropic, OpenAI and Google provider adapters. Ahamed confirms using Claude, OpenAI and Gemini models; the overview does not assign a particular model to every workflow.
Durable orchestrationCoordinate work that outlives a single request.Temporal
Documented Temporal workflows coordinate multi-step intake. Replayable orchestration is separated from activities that call models, access data or talk to external services—keeping coordination distinct from the work that can fail or need retrying.
Product & contractsKeep the interface and the system speaking the same language.ReactTypeScriptoRPCZodClerk
The documented platform includes distinct operational interfaces, shared typed API contracts and schema validation. React, oRPC and Zod connect the product surface to its contracts; Clerk is included among the authentication dependencies.
Data & documentsKeep information attached to the right case and entity.PostgresDrizzleAWS S3
The platform combines relational data with document storage. Its domain guidance emphasizes the difference between case-wide information and facts about a particular location or building—a small distinction with consequences throughout the workflow.
Outside the codebaseConnect the tools that already belong to the working day.PostmarkAnvilHazardHub
The intake documentation describes Postmark for email. My CV describes Anvil form generation and e-signatures, plus HazardHub property and hazard enrichment. The engineering story is connecting these services to the workflow people already need to complete.
Quality & visibilityMake behavior inspectable before calling it reliable.LangfuseOpenTelemetryVitestPGlite
The skills document LLM tracing, unit and integration testing, and layered agent evaluation. They also identify coverage gaps. No production quality score, complete tracing coverage or test-pass claim is inferred from this documentation.
Claude Code / Skills & agentic practices
More than a
clever prompt.
Practices captured in the repository’s skill documentation.
Give the agent a working brief.
Repository skills for Claude Code organize domain context, contract rules, coding patterns and checks into task-specific guidance. Useful context is selected for the job, not treated as an unlimited prompt.
Keep answers attached to evidence.
The documented intake loop connects tool use to source material and citations, with a path for questions that need a person. A plausible answer and a supported answer are different things.
Test the answer. Then question the test.
The evaluation guidance puts deterministic checks before grounding checks and semantic assessment. Expectations must match what the agent was actually given—not what the test author meant to send.
What supports this platform overview?
A read-only review of the repository overview, package metadata, root guidance and relevant skill documentation. This is a high-level account of the team platform—not a source-code audit, a runtime verification, or a claim that I personally authored every capability. Individual contribution and reported outcomes remain in the CV-based story above. No client source code or operational data is reproduced here.
Now change
your perspective.
Sansa / specialty insurance
One submission. Too much re-keying.
Brokers, underwriters and carriers work with overlapping information. The practical problem: getting documents into a submission without typing the same details again.
- 01Incoming documentsProperty & hazard data
- 02Manual intakeRepeated field entry
- 03ACORD formsCarrier submissions