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.
Validation and safety boundary: every LLM response must pass through a deterministic policy engine before reaching callers
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.
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 collaborative University of St. Thomas SEIS 745 project in which David Braun served as lead developer and primary implementer, turning large NOAA weather datasets into county-level risk views and decision-support reporting.
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.