Projects

Everything I've built, with a page each for the details. Source is open unless marked private.

Product

  1. OrbitOrbit · build briefOrbit · build brief product · 2026 private

    Turns customer feedback into ranked product decisions, with the evidence attached.

    Synthetic demo: 300 feedback items → 20 problems → 5 briefs

Systems

  1. Trace Autopsy systems · 2026

    Finds why an agent run failed by reading the trace, with no model in the analysis path.

    Case-study example: the same tool call repeats 8 times

  2. Agent Firewall systems · 2026

    Answers one question before a tool runs: allow, hold, or block.

    First matching rule decides; unmatched calls are blocked

  3. AuditLens systems · 2026

    Checks a dataset for unfair patterns before a model is trained on it.

    COMPAS demo: 29 findings across 7,214 rows; small groups limit interpretation

  4. doc-verdict systems · 2026

    Turns "update the docs" into a test that either passes or fails.

    Two task benchmarks; dry runs test the gate, not a live model

  5. QualModel systems · 2026

    Turns open-ended survey answers into a model where every claim still carries the quote it came from.

    Extracted claims retain their supporting survey quotes

  6. EngageMind thesis · 2026

    A study assistant that answers from your own material, and can be fine-tuned to one learner.

    Thesis prototype; not hardened for multi-tenant use

Research

  1. FailSafeRAG research · 2026

    Detects when document search has gone wrong, and recovers instead of answering confidently from bad evidence.

    Research implementation; default visual recovery uses a mock model

  2. ACOM embedding grid research · 2025

    Places documents on a discrete grid so the layout can be read, then measures what structure survived.

    Compared with PCA, t-SNE, and UMAP using shared metrics

  3. LLM bias evaluation research · 2025

    Tests whether a model's answer changes depending on who it thinks is asking.

    Exploratory: 426 responses from 1,152 attempted runs