Carnegie Mellon University · Human-Computer Interaction
My projects accentuates in order-matching engines, ledgers, data pipelines and tools that check AI output. I mostly write Python, JavaScript, C++, TypeScript, SQL and Rust. I'm always looking for challenges in software engineering, agentic AI engineering, fintech and data science.
Portfolio · Project explorer · Fintech work · Agent skills on Agensi · Email
I also write agent skills: 20 skills in the SKILL.md format for Claude Code, Codex and other coding agents. Each is a short workflow plus a small offline script, so the agent works from numbers that come out the same on every run. They cover security checks, API and database migration review, data and finance audits, and LLM evals.
The skills are sold on Agensi, a SKILL.md marketplace.
| Project | What it is | Try it |
|---|---|---|
| crossbook · Rust | An order-matching engine with opening and closing call auctions, crash recovery and a market-data feed. A second, simpler engine checks every event, and the output is the same on every platform, in the browser and on any number of threads. | Playground · Case study |
| Frontier AI Valuation Lab · fintech | A valuation and financing tool for illustrative frontier AI lab scenarios, with seeded Monte Carlo value ranges. Separate Python scripts recheck the arithmetic. | Live studio · How the math is checked |
| LineageGuard Studio · AI engineering | Reviews a database schema change before it breaks a downstream dashboard, using lineage from DataHub or a dbt manifest. A 105-case labelled benchmark in CI keeps its decisions from getting more lenient. | Live demo · Case study |
| SaaS Analytics Warehouse · data | Revenue and retention metrics for a fictional SaaS company, built and tested in dbt and DuckDB, with incremental loads checked against a full refresh. | Report · Metric definitions |
| ledgerline · backend | A double-entry ledger API with holds (two-phase transfers). Every entry must balance, and a retried request can't post twice. | API walkthrough · Design notes |
| Luma Keys · product | A piano practice app for macOS with sheet music, falling notes and two 3-D hands that show the fingering. | Overview · Hand motion design |
I check my work against answers I didn't write myself. quantkit reproduces textbook option prices, powerlift matches published sequential-testing tables, and crossbook runs every command through two separate engines.
Each README opens with what the project does and the few commands to run it. Hosted demos use synthetic data, and the READMEs say what a project doesn't do. I use AI coding assistants, then review, test and document what they produce.
All 21 projects by area
| Project | What it is | Stack |
|---|---|---|
| Agent skills (on Agensi) | 20 offline SKILL.md skills for security scans, API and migration checks, data audits and LLM evals | Python |
| Project | What it is | Stack |
|---|---|---|
| crossbook | Order-matching engine with call auctions and a WebAssembly playground | Rust, WebAssembly |
| Frontier AI Valuation Lab | Valuation and financing tool for frontier AI labs, with Monte Carlo value ranges | JavaScript, Node.js, Python |
| quantkit | Option pricing, portfolio optimization, VaR backtests and a backtester that can't see future prices | Python, NumPy, SciPy |
| ledgerline | Double-entry ledger API with idempotent writes, holds and race-free overdraft checks | FastAPI, PostgreSQL |
| Agentic Trading Research | Language models suggest stock ideas, and plain Python checks and backtest-overfitting tests decide which survive. It cannot place orders | Python |
| Project | What it is | Stack |
|---|---|---|
| SaaS Analytics Warehouse | MRR, cohort retention and unit economics for a fictional SaaS company, with incremental loads and SCD2 history | dbt, DuckDB, SQL |
| powerlift | A/B and A/B/n test statistics checked against SciPy, statsmodels and published tables | Python, SciPy |
| Impact Ledger | Attendance and spending reports for a fictional nonprofit that never count anyone twice, with a hash-chained audit log | TypeScript, Python, SQLite |
| Project | What it is | Stack |
|---|---|---|
| LineageGuard Studio | Reviews database schema changes, with lineage from DataHub or a dbt manifest, and keeps the evidence behind each verdict | Node.js, SQLite |
| citecheck | Answers questions from your documents and flags any claim its sources don't support | Python, Claude API, SQLite |
| TraceBench | Catches regressions in recorded AI outputs and tells them from noise with statistical gates | Python |
| RelayBox | A webhook inbox that drops duplicate deliveries, and a signed sender with retries and replay | Python, SQLite |
| searchlite | A search engine written from scratch that explains each result's ranking and skips work without changing the results | TypeScript |
| ProofCast | Generates narration and cover art locally, hashes every file, signs the manifest and logs it in a Merkle transparency log | Python, Streamlit |
| Project | What it is | Stack |
|---|---|---|
| Luma Keys | Piano practice app with sheet music, falling notes and 3-D hands | Electron, React, three.js |
| MOTIONX Studio | The website for my motion-design studio, madebymotionx.com | Next.js, TypeScript |
| ContrastKit | Checks color contrast, finds the nearest passing color with the same hue and simulates color vision deficiency at any severity | TypeScript, React |
| Blast Radius Daily | A one-minute Reddit puzzle about containing a bad schema change, playable by keyboard | TypeScript, Devvit |
| Project | What it is | Stack |
|---|---|---|
| JUST-QR | A QR code generator with its own ISO/IEC 18004 encoder and PNG export, tested against a scanner | JavaScript |
| Teen Budgeting | A classroom budgeting demo with fictional data | Node.js |
- Languages: Python, TypeScript, C++, JavaScript, SQL, Rust, HTML and CSS
- Backend and data: FastAPI, Node.js, PostgreSQL, SQLite, DuckDB, dbt, pandas, NumPy, SciPy
- AI: Claude API (tool use, prompt caching, refusals), retrieval, offline evals
- Frontend: React, Next.js, Vite, Tailwind CSS, Electron, three.js, WebAssembly
- Testing: pytest, Hypothesis, proptest, Vitest, Playwright, mypy, Clippy, GitHub Actions
Email hello@madebymotionx.com or start from the portfolio.
None of these projects is in production use. Company names in the valuation demo are research subjects, with no affiliation or endorsement implied.


