Problem
Legal intake is high-friction for callers and high-risk for firms when urgency, jurisdiction, conflict checks, and advice boundaries are handled inconsistently.
R&D case study
Legal intake workflow that screens urgency, gathers structured information, and routes cases without inconsistent or unsafe responses.
At a glance
Context
R&D
Current state
Prototype
Role
Sole architect and backend engineer
Legal intake is high-friction for callers and high-risk for firms when urgency, jurisdiction, conflict checks, and advice boundaries are handled inconsistently.
Built as a guarded intake architecture. A deterministic policy engine enforces jurisdiction, emergency, conflict, and legal-advice constraints before an AI layer can respond. Validated outputs are persisted with transcripts and routed to intake specialists through notification workflows.
Working prototype with policy-gated intake flow, jurisdiction detection, and conflict-check pipeline
The pipeline is shown as explicit stages so the system boundary is inspectable.
Core constraint
Validation and safety boundary: every LLM response must pass through a deterministic policy engine before reaching callers
Where the pattern matters
Available artifacts are labeled directly. Missing visuals stay as placeholders until real screenshots are added.
The system walkthrough is currently grounded in the intake flow and the architecture shown on this page.
The architecture diagram on this page is the strongest current proof artifact for how the system is structured.
This system has real operator-facing surfaces even at the prototype stage.
Current evidence is architectural and workflow-based rather than public-production proof.
What this does not claim
Reasonable next steps
More portfolio context.
A Minnesota severe-weather analytics dashboard that turns large NOAA weather datasets into county-level risk views, cleaned analytics layers, and decision-support reporting surfaces.
A small explainable Retrieval-Augmented Generation prototype that retrieves local evidence first, applies a relevance threshold, and refuses unsupported questions when the corpus does not justify an answer.