What I built, why I built it, and how the pieces fit together.
A low-latency, high-fidelity mathematical compiler core written in Rust featuring WebAssembly compilation targets. Tailored for clinical biostatistics simulations, high-dimensional matrix equations, and rapid real-time statistical distributions.
A beautiful, premium design layout compiler built in TypeScript that transforms standard QR codes into dynamic, styled vector art canvases. Employs custom SVG paths, matrix pixel manipulations, and low-latency rendering controls.
An enterprise-grade TypeScript and Angular randomization platform designed for clinical trial biostatisticians. Synthesizes double-blind schemas, dynamic block allocations, and secure random seeds complying with rigid regulatory standards.
A robust, fully-typed Python SDK client for programmatic extraction and integration of clinical trial metadata and patient records from the iMednet EDC platform. Built for biostatisticians and clinical data engineers.
Clinical data arrives in one format and needs to leave in another. This TypeScript tool reads CDISC ODM metadata, builds validation schemas, and maps EDC records into SDTM domains.
A clinical study has a lot of moving parts. Cadence Clinical connects protocol design with study records, using Neo4j for relationships and PostgreSQL for transactions, with audit trails and digital signatures.

A wedding website with invitation codes, RSVPs for multiple events, dietary requirements, and an admin dashboard. Built with Next.js, Prisma, and PostgreSQL. Apparently wedding planning was going to involve a schema.
A React and TypeScript graph editor for composing JSON Schema. Connect nodes, check for circular dependencies, and see the generated code as you work.
A Bun and Hono backend scaffold with module generation, tenant isolation, and database migrations. It packages the setup work Iād rather not repeat on every project.
A set of Python tools for decoding InBody body-composition QR codes. The project explores the binary format, maps its fields, and exposes the results through a library and CLI.
The Traveling Salesman Problem, implemented across 50+ programming languages. An excuse to compare memory models, type systems, and runtime costs while asking the same very expensive routing question.
A computational number theory project pairing Rust branch-and-bound search with Lean 4 verification. It explores prime signature lattices in the search for quasiperfect numbers, with proof checking alongside the search.
A local document classifier using ONNX embeddings and TF-IDF to group related files. SQLCipher stores encrypted metadata, while two-phase file operations help recover interrupted moves.
My submission to Minnesotaās state flag redesign: a common loon with uncommon eye contact. The artwork is available in print and web formats, so the lasers can travel.
A local Sonos controller built with Python, FastAPI, and HTMX. It talks to speakers over UPnP/SOAP and exposes a REST API for playback control on your own network.
A browser-based workspace for comparing adaptive clinical trial designs. Pyodide workers run models including CRM, EffTox, group sequential designs, and win ratio analyses.
A browser-based tool for designing stratified block and PocockāSimon minimization randomization schedules. A seeded MT19937 generator makes each schedule reproducible from its seed, and the app exports it as R, Python, SAS, and Stata scripts for independent review.
An FMCW radar project exploring respiratory motion tracking for Surface Guided Radiation Therapy. Haskell handles signal processing; C++ ring buffers move samples between stages.
A TypeScript tool that turns JSON Schema into configuration forms, then compiles their values into Kubernetes, Helm, or Cloud Run manifests. Web Workers keep compilation off the UI thread.
A Python cardiac risk modeling project using XGBoost, LightGBM, calibration, and SHAP explanations. The writeup examines data leakage, distribution shift, and how to evaluate the predictions.
A Python basketball prediction project that compares my basketball judgment with XGBoost models across NBA seasons. Includes rolling features, walk-forward validation, and SHAP analysis. Confidence is easy; checking it takes a dataset.
An Excel add-in that turns protocol spreadsheets into CDISC CDASH forms and ODM-XML exports. It checks rule dependencies and runs compilation in background workers so the workbook stays usable.
A TypeScript toolkit for versioning prompts, validating output with Zod, and running regression evaluations in CI. A prompt change should come with a way to check what changed in the results.
When your brother lives with dyslexia, software accessibility ceases to be a checklist item; it becomes deeply personal. This case study details replacing generic system fonts with a scientifically grounded cognitive typography stack: Lexend for headings, Atkinson Hyperlegible for body prose, and a 1-click persistent OpenDyslexic mode coupled with zero-CLS Pretext text reflow.