Separate the evidence
Filing passages become individually addressable chunks in a vector index.
Every answer should leave a paper trail.
Turn lengthy SEC filings into answers that can be traced back to a source.
Separate retrieval, deterministic arithmetic and a bounded review loop.
Citations and structured metrics carried from the reasoning pipeline into the interface.
Follow the connections as you scroll, or select a stage to see what happens there.
Filing passages become individually addressable chunks in a vector index.
Guard, retrieve, calculate, draft and judge; retry within a bounded loop.
The structured answer reconnects to its supporting filing excerpts.
Full-stack & retrieval engineering
AI / ML + Full stack + Backend + Data / analytics
Full-stack research system
Financial documents mix long narrative passages with figures that need precise arithmetic. Retrieval, calculation and drafting need different responsibilities, and unsupported answers need a path back to the evidence.
SEC filings are chunked, embedded and indexed in PostgreSQL with pgvector/HNSW. LangGraph coordinates input checks, retrieval, drafting with deterministic math tools, and a faithfulness judge. A bounded retry widens retrieval when the draft fails the configured check.
The system carries citations and structured metrics through shared JSON contracts into a Next.js research interface. It includes ingestion/cache workflows, failure states and evaluation infrastructure. The portfolio presents the implementation without claiming a verified public production service.
Financial operations run through deterministic Python tools. Drafting and calculation stay separate responsibilities.
JSON Schema is the source for generated Zod/TypeScript and Pydantic models, reducing drift across the API boundary.
Unavailable providers and blocked queries produce explicit states. A local mock interface is distinguishable from a live provider-backed response.