I build AI systems where the claims are verified — not because a model
says so, but because a machine located the evidence.
Language models are fluent and confident whether or not they are right. My work
puts the burden of proof in code: extract deterministically, cite structurally,
and verify mechanically, so an unsupported claim fails a test instead of reaching
a reader.
Projects
An equity research pipeline where every factual claim traces to a specific,
dated, tier-labeled primary source. Information sourcing and
citation verification are enforced deterministically
by code wherever possible to minimize reliance on LLMs,
reducing both cost and hallucination risk.
- Seven-tier source hierarchy from SEC filings down to unaudited public
posts, with market data marked as a point-in-time price fetched at the time of
the research.
- Claims are extracted by regex, not by a model. The citation grammar is
generated from one module the pipeline and the prompt both import, so they
cannot drift apart — the code raises at import if they do.
- Mechanical tie-out with a digit guard. A quoted figure is located in the
source by exact search; a one-digit change leaves a ~97%-similar string, so
similarity alone would confirm a fabrication. Comparing digits does not.
- The audit separates proven from judged instead of averaging them into one
reassuring number, and deep-links each proven claim to the exact sentence in
the filing.
Python · FastAPI · Anthropic Claude · SEC EDGAR · Playwright · Railway
The same guarantee, built as a human-first workflow for tracking investment theses,
receiving a feed of thesis-pertinent snippets directly from SEC filings, and recording
how each snippet supports or contradicts the thesis. It is designed for source-adaptability, cost-efficiency,
and auditability, so that every investment decision can be defended by a verifiable chain of evidence.
- Built against customer research. A family-office research lead's line —
"tie it out or it doesn't go in" — is the specification the code
implements, not a slogan added afterward.
- Uncited claims are unrepresentable. Structured output forces every
candidate claim to carry a verbatim excerpt and a source pointer at the moment
it is drafted, when the writer still knows what it was looking at.
- Two independent checks per claim — mechanical substring tie-out, then a
separate model pass judging whether the located excerpt actually supports the
claim as written. It catches the real-excerpt, overreaching-claim case.
- Detect and quarantine, never silently fix. Failed claims are excluded
from the report body and surfaced with their reason; time-to-draft and cost
are stamped into every report.
Python · Structured outputs · SEC EDGAR · Contract-validated JSON · Railway
An interactive laboratory for designing, stress-checking, pairing, and rebalancing
long-only portfolios from adjusted daily-close history. It keeps the analytical model
transparent while making dense portfolios fast enough to explore directly in the browser.
- One diversification map scales continuously. A clustered Canvas explorer moves
from portfolio overview to exact pair values through semantic zoom, search, pan, and
keyboard navigation instead of switching between portfolio-size-specific designs.
- Large analyses stay off the interface thread. Correlation, classification,
clustering, and constrained optimization run in a Web Worker over packed typed arrays,
keeping draft editing responsive as holdings grow.
- Pairwise work is reduced to O(N²T). Return series are aligned and standardized
once, the upper correlation triangle is stored once, and dependent tools reuse the same
matrix rather than rebuilding statistics for every cell.
- Drafts and analyzed results are deliberately separate. Expensive work runs only
when requested, prior results remain visible while inputs change, and stale requests
cannot overwrite a newer portfolio snapshot.
TypeScript · React · Web Workers · Canvas · Yahoo Finance · Railway
Contact
weinsteinkylem@gmail.com · linkedin.com/in/kyleweinstein