$builds software at AI-first speed
Principal AI Full-Stack Developer · UCLA Cognitive Science · GauntletAI Cohort 3 Champion
A working accessibility tool that doubles as a LangGraph capability tour: photograph a document, label, or bill and get a verified audio description back. Built for visually impaired users. The README is upfront that this is a portfolio demo. - Multi-agent pipeline: vision-language extraction, a complexity router (fast path vs. deep analysis subgraph), web-search enrichment, and text-to-speech. - The safety core: a human-in-the-loop interrupt blocks any number the draft cannot trace back to the photographed text. The app asks before it speaks. - Exercises the LangGraph primitive set: StateGraph conditional edges, Command(goto) routing, subgraphs with independent schemas, Send fan-out for multi-photo, checkpointing (InMemorySaver by default: deliberately non-persistent, because the images are medication labels and bills), cross-thread Store, time-travel via get_state_history, streaming. - CI on GitHub Actions, including a test that imports every capability the README claims so the docs cannot drift from the code.
OpenEMR is the host, not the product. We forked a mature EMR on purpose and built a distinct thing inside it — a privacy-preserving, self-verifying clinical AI assistant. You see OpenEMR because a clinical assistant belongs where the clinician already works, so we embedded it as an OpenEMR module rather than building a separate app. Ours consists of three key elements that don't exist in OpenEMR: - The module: The Co-Pilot button in the patient heading, the chat panel, and the verification display (including the ✓ Verified badge, citation cards, allergy/interaction warnings, and user feedback). - The Python agent: A completely separate service that is the actual product. - The eval suite: A custom harness measuring small model behavior. Two key architectural pillars: 1. Local-only, zero egress: The model (Qwen3-4B via Ollama) runs locally. No patient data (PHI) ever leaves the machine; the agent sits on a no-egress Docker network. 2. Deterministic verification layer: Every claim the model makes is deterministically re-checked against the actual EMR record, cited to its source, and unverified details are stripped. Safety checks (allergy/drug-interactions) run deterministically.
Phase 2 of the AgentForge series. The clinical co-pilot learns to read documents: uploaded PDFs and intake forms are ingested and retrieved alongside the structured EMR record, so an answer can cite a scanned referral letter as readily as a lab value. - Hybrid retrieval: BM25 keyword search fused with dense vector retrieval, then a local reranker orders the candidates. - Still local-only: inference moved to llama.cpp/llama-server running Qwen3-8B-Q5_K_M — no cloud model calls, no PHI egress. - Every answer stays citation-grounded and passes the same deterministic verification gate as Mark 1. - A 50-case golden-set eval suite wired as a PR-blocking CI gate.
Phase 3 attacks Phase 2. Building an agent is one problem; knowing where it breaks is a different one, so this is a harness that tries to break the clinical co-pilot on purpose and turns whatever it finds into permanent tests. - A red-team agent generates adversarial prompts against the target system, running an uncensored local model so the attacks aren't declined by the attacker itself. - An independent judge scores each attempt from a separate trust domain — the attacker cannot grade its own work. - Confirmed exploits become structured vulnerability reports, then deterministic regression tests that run in CI, so a fixed failure cannot silently return. - Threat model mapped to the OWASP LLM Top 10. 314 tests, CI green.
An AI-assisted demand-letter drafting platform for law firms. Attorneys draft in a rich editor while the AI proposes arguments and clause language, with the citation and formatting rules the work product actually has to satisfy. - Reusable clause library and Bluebook citation formatting. - Real-time multi-user collaboration: live cursors and presence sync over WebSockets. - Audit logging for compliance review of who changed what. - 541 frontend tests plus a server suite, all CI-gated; API keys never reach the browser — model calls go through a rate-limited backend with a pinned model allowlist.
Daedalus Echo turns your voice into structured knowledge — entirely on your phone. No cloud. No accounts. No data ever leaves your device. Speak your thoughts, and Echo does the rest: accurate transcription, AI summaries, automatic to-do lists, and a searchable knowledge graph of everything you've said — all processed locally by on-device AI. What it does: - Record voice notes with built-in mic or Bluetooth headset, or import audio files - Transcribe audio to text using Whisper — fully offline - Generate AI summaries, titles, key topics, and mind maps with Gemma - Extract action items automatically into an editable to-do list - Filter task history (last day, 3 days, a week, or everything) - Semantic Q&A across your note library and global knowledge graph connections - Automatic versioned backups to local folders with auto-cleanup of old backups
Math Phoenix is a K-12 Socratic math tutor — a web app where students submit a math problem (typed or photographed) and work through it in a guided chat. The AI tutor never gives the answer; it asks one guiding question at a time, offers hints after two stuck turns, detects when the student reaches the solution, and follows up with a short quiz to confirm understanding. A password-protected teacher dashboard shows session transcripts, per-problem stats, and aggregate progress. Architecture: - Stack: React/Vite static frontend + Node/Express (ESM) backend, deployed on Render. - AI layer: OpenRouter free tier wrapper with fallback models on 429s/5xx and empty completions. - Storage: Deliberately ephemeral, in-memory Map (memoryStore.js) for zero infrastructure cost. Testing & Evals: - Unit tests: 181 tests using Node's built-in node:test. - Evals: Custom ~500-line harness measuring classifier accuracy (T1), tutor quality via LLM-as-judge (T2), and E2E scripted student simulators (T3).
An AI-driven learning solution that allows anyone to set goals to learn anything, through the power of AI teaching. The application allows for people to set a target goal for a target domain of learning. You do a few questions every day, you're invited to go into a deep dive conversation with your A.I. tutor, and if need be, you can engage with a human tutor. It's an application that allows people the freedom to keep learning, at their own pace.