I am a software and hardware builder studying Information Sciences + Data Science with a minor in Computer Science at the University of Illinois Urbana-Champaign. I work across agent systems, local-first developer tools, applied computer vision, and assistive hardware. I am drawn to problems where software has to survive contact with something physical or human, and where a claim is only worth the evidence attached to it.
- Agent systems: Reproduce, repair and verify loops, MCP servers, browser automation, and explicit publication gates so a model never ships an unreviewed change.
- Local-first tools: Durable state in SQLite, isolated Git worktrees, and clients that keep functioning when the network does not.
- Applied vision and sensing: Strict provider schemas, timestamp normalization, deterministic triage rules, and visible data gaps in place of silent failure.
- Assistive hardware: Low-cost embedded sensing, measured accuracy, and designs evaluated against real constraints rather than demo conditions.
Build notes, architecture and what is still unfinished → · Every public repo →
Evidence boundaries
Each project states what it has actually demonstrated and what remains unproven. These are the current limits.
- Muscle Memory. The strongest candidate policy improved development success from 25% to 66.7% and still failed the promotion gate on two falls. No policy is promoted. The figures on that card are requirements, not results.
- SafeRelay. End-to-end multi-hop delivery is unproven. A browser demo and a protocol test do not establish radio delivery, and the claim stays gated until captured three-phone field evidence exists.
- ZooVision. Overlay tooltips can still surface raw detector labels that contradict the triage output. Known and unresolved.
- SmartCane. Preliminary bench and simulated trials only. Not a clinical study, and not yet evaluated with the elderly users it was designed for.
Ordered by significance rather than recency. The science fair entry was a ten-month build; the hackathon awards were weekend work.
| Product | Systems | Agents |
|---|---|---|
| React, Next.js, Electron, SwiftUI, Capacitor | Python, TypeScript, Go, Jac, SQLite, Neo4j, FalkorDB, BLE | MCP servers, browser agents, deterministic gates, evaluation receipts |
| Interfaces an operator can act inside | Offline-first data, background sync, native workers | Structured output, verification before acceptance, visible DataGaps |
Cards and the snake regenerate every morning from the public API. Language share is repository composition, not a skill ranking.
01 Separate what is demonstrated from what is verified, and label both.
02 Deterministic rules own any decision with safety consequences. Models describe.
03 Local-first by default. Treat the network as an enhancement.
04 Failure states are designed, not discovered. No silent placeholders.
05 Leave evidence behind: runs, artifacts, checksums, timestamps.
06 Finish the unglamorous part. It is most of the work.


