I build software to understand how systems behave and how people use them.
My projects move between data, developer tools, security, graphics, language design, and engineering software. I like clear interfaces, repeatable results, and small experiments that can grow into useful tools. EngineerProfile is the tool I use to keep the portfolio current from public project evidence.
A TypeScript tool that turns public repository activity into a local portfolio, with changelogs, project previews, privacy controls, and static publishing.
An interactive Elixir and Phoenix simulator for distributed systems. It shows how a rumor spreads through a network when messages are delayed, lost, or split by a partition. Fixed seeds make each run repeatable, so a scenario can be replayed and compared.
A durable Go queue with leases, retries, idempotency keys, crash recovery, and an inspectable event log.
A Rust workbench for safe packet-fixture analysis. It explains DNS, connection, and timing anomalies without active scanning.
A local-first C# finance tracker with transparent categorisation rules and explainable monthly summaries.
A C++ and OpenGL playground for signed-distance field scenes, live shader editing, and deterministic reference renders.
- GTFS Accessibility Auditor finds accessibility gaps in public-transit data and produces evidence-based reports.
- Web Accessibility Regression Guard reports only the accessibility regressions introduced by a new build.
- Tiny Anomaly Lab turns small time-series experiments into reproducible reports.
- Pocket Habit Engine is an offline Flutter app for testing one routine at a time.
Agent harnesses, model evaluation, LLM fine-tuning, computer-use benchmarks, robotics, embedded systems, CAD, digital fabrication, simulation, computer vision, compilers, language tooling, operating systems, databases, distributed systems, cybersecurity, privacy engineering, networks, protocol design, data science, finance software, scientific computing, graphics, shaders, audio, game development, web design, mobile software, accessibility, information visualisation, quantitative systems, and software architecture.
I am also shaping EngineerKit: a family of tools for engineering calculations, CAD review, design memory, and agent-assisted design workflows.
- query-plan-playground — A database learning tool that turns query plans into interactive trees and explains common scan, join, sort, and index decisions.
- tiny-anomaly-lab
Python— An explainable anomaly-detection workbench for small time-series datasets with reproducible experiments and a browser-based report. - signal-garden
ElixirShowcase — An interactive distributed-systems simulator that makes message delay, partitions, retries, and eventual convergence visible and reproducible. - shader-sketchbook
C++Showcase — A compact graphics playground for learning shader techniques through live examples, small experiments, and visual regression captures. - pocket-habit-engine
Dart— A calm offline habit experiment app that helps a user test routines without accounts, streak pressure, notifications, or remote analytics. - personal-ledger-lab
C#Showcase — A local-first finance tracker that imports statement files, applies transparent categorization rules, and explains every balance and spending summary. - packet-forensics-lab
RustShowcase — A defensive, offline network-forensics tool that explains suspicious patterns in safe packet fixtures and never performs active scanning. - local-first-job-queue
GoShowcase — A small durable background job queue demonstrating leases, retries, idempotency keys, crash recovery, and an inspectable append-only event log.
