I build software to understand system behavior. I make complex ideas easier to inspect.
My projects cover developer tools, engineering software, systems, data, graphics, and language design.
I prefer clear interfaces, repeatable results, and small experiments that can grow into useful tools.
EngineerProfile builds this portfolio from public repository data.
An MCP server for mechanical-engineering calculations. It provides references, material data, unit checks, and result provenance.
A local Python workbench for recording, replaying, comparing, and inspecting agent runs. It does not require a hosted trace service.
A TypeScript tool that reads public repository data and builds a local static portfolio. It creates changelogs, previews, and privacy controls.
An Elixir simulator for distributed systems. It shows delay, partitions, retries, crashes, and eventual convergence with repeatable scenarios.
A Zig Game Boy emulator workbench. It models the SM83 CPU, memory bus, timers, serial output, and pixel pipeline. Hardware support is incomplete.
An embedded Crystal key-value store. It uses a write-ahead log, sorted data files, snapshots, and level-based compaction.
A small Go programming language with an interpreter and a bytecode virtual machine. It supports file modules, imports, exports, and cycle checks.
A Haskell digital-logic simulator. It reads plain-text netlists and writes VCD waveform files and text reports.
A Lua rigid-body simulation lab with fixed steps, collision handling, record and replay, and a headless runner. Interactive presentation is planned.
A Rust tool for defensive, offline packet analysis. It explains patterns in packet fixtures and does not perform active scans.
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 visualization, quantitative systems, and software architecture.
I also plan to build EngineerKit. This tool family will support engineering calculations, CAD review, design memory, and agent-assisted design work.
- latch
Erlang- An Erlang library for secure messages between two peers. It uses a ratchet scheme so each message gets a fresh key. - shader-sketchbook
C++- A compact graphics playground for learning shader techniques through live examples, small experiments, and visual regression captures. - dungeonwright
GDScript- A playable dungeon crawler that builds a new map each run. You explore rooms, corridors, and locked areas that the generator creates. - signal-garden
Elixir- An interactive distributed-systems simulator that makes message delay, partitions, retries, and eventual convergence visible and reproducible. - engineer-mcp
TypeScript- An MCP server that gives coding agents reliable mechanical-engineering calculations, references, material data, and transparent result provenance. - local-first-job-queue
Go- A small durable background job queue demonstrating leases, retries, idempotency keys, crash recovery, and an inspectable append-only event log. - dot-matrix-deck
Zig- A Game Boy emulator written in Zig. It emulates the SM83 CPU, the memory bus, the timers, and the pixel pipeline. A software renderer shows the screen in an SDL2 window. A headless mode runs public test ROMs so that automated tests can check the emul - gatework
Haskell- An event-driven digital logic simulator written in Haskell. A plain-text netlist format describes gates, D flip-flops, and clocks. The simulator runs the circuit and writes standard VCD waveform files. GTKWave and other waveform viewers can open the - agent-trace-workbench
Python- A local workbench for recording, replaying, comparing, and inspecting tool-using agent runs without sending trace data to a hosted service. - sprout-lang
Go- A small programming language with friendly diagnostics, a documented grammar, and an implementation that can grow from an interpreter into a bytecode virtual machine. - cinderstore
Crystal- An embeddable key and value store built on a log structured merge tree. It keeps a write ahead log and merges data files in the background. - engineer-profile
TypeScript- A public self-maintaining engineering portfolio that turns repository activity into accurate documentation, screenshots, changelogs, metrics, and publishing drafts. - stonehue
Common Lisp- A Go board game engine for small boards. It plays with Monte Carlo tree search and speaks the Go Text Protocol. - driftlog
Gleam- A Gleam library of conflict-free replicated data types. Two peers edit the same data offline and then merge without conflicts. - tumble-lab
Lua- A 2D rigid-body physics engine written in Lua from first principles. The engine solves circle and polygon collisions with an impulse solver. Interactive sandbox scenes run in the LOVE framework. A deterministic headless mode runs the same engine with - personal-ledger-lab
C#- A local-first finance tracker that imports statement files, applies transparent categorization rules, and explains every balance and spending summary. - packet-forensics-lab
Rust- A defensive, offline network-forensics tool that explains suspicious patterns in safe packet fixtures and never performs active scanning. - patchbay-synth
Julia- An offline modular synthesizer written in Julia. A patch file declares oscillators, envelopes, filters, and effects as a signal graph. The engine renders the graph to a WAV file at any sample rate. Analysis tools plot spectrograms of the rendered audio.
- paper-orrery
F#- An astronomy calculator written in F#. It computes the positions of the planets from bundled orbital elements. It converts positions to the local horizon frame for a given date, time, and location. It renders an SVG sky chart with the visible planets - gtfs-accessibility-auditor
TypeScript- A production-quality TypeScript CLI that audits public-transit GTFS feeds for wheelchair-accessibility coverage, data quality, and actionable route-level gaps. - tonewright
Ruby- A Ruby library that analyzes chords and scales. It names progressions and exports them to notation and MIDI files. - reed-solomon-workbench
Ada- An Ada library that adds Reed-Solomon error correction to byte blocks. It shows how the codes recover data after damage. - mesa-mapper
D- A D library that builds convex hulls and Delaunay triangulations from point sets. It writes the result as a scalable vector image. - inkline-maps
Kotlin- An offline map renderer written in Kotlin. It parses a bundled OpenStreetMap extract and applies a plain-text style sheet. It draws roads, water, buildings, and labels to PNG and SVG images. The renderer works fully offline and does not use tile serv - hm-lens
Standard ML- A Standard ML engine that infers types for a small functional language. It shows how each type is worked out. - contagion-lab
R- An R package that simulates how a disease spreads through a population. It compares compartment and agent based models. - engineering-design-assistant
Dart- A focused interface for capturing engineering requirements, checking units and constraints, and handing a structured design brief to EngineerKit tools. - leaflitter
C- A C library that compresses and decompresses byte streams. It uses a match finder and Huffman coding, similar to DEFLATE. - turtleyard
StringTemplate- A Pharo Smalltalk environment for turtle graphics. You write short scripts and watch the turtle draw at once. - automata-lens
Racket- A Racket desktop program that turns a regular expression into a finite automaton. It shows the states and animates each match step. - deducto
Scheme- A Scheme program that checks proofs in propositional logic. It uses natural deduction rules and gives feedback at each step. - triweave
Perl- A Perl library that merges two changed versions of a text file against a common base. It marks conflicts clearly. - frame-smith
Vala- A GTK desktop program that applies filters to images. You can chain filters and see the result at once. - harmonic-tide
Fortran- A Fortran library that predicts tide heights from harmonic constituents. It builds a tide table for one station and time range. - gridmind
Clojure- A Clojure library that learns to solve grid worlds. It uses tabular Q-learning and SARSA. - codon-atlas
Nim- A Nim library that reads DNA and RNA sequence files and reports composition statistics. It computes GC content, k-mer counts, and codon usage tables. - pocket-habit-engine
Dart- A calm offline habit experiment app that helps a user test routines without accounts, streak pressure, notifications, or remote analytics. - rota-forge
Scala- A staff rostering solver written in Scala. It reads staff, shifts, and rules from CSV files. It builds a schedule with simulated annealing and scores hard and soft constraints. It writes the final roster as CSV and as a printable HTML report. A bundl - specimen-press
Swift- A font inspection toolkit written in Swift. It parses TrueType binary tables, extracts glyph outlines, and reports font metrics. It renders SVG specimen sheets that show the alphabet, sample text, and metric lines. A bundled open-license font support - morphoscope
Prolog- A morphological analyzer written in SWI-Prolog. Rule sets describe how word forms inflect in English and Spanish. The engine runs in two directions: it analyzes a word form into a lemma with features, and it generates all forms of a lemma. The lexico - clausecraft
OCaml- A CDCL SAT solver written in OCaml. The solver reads standard DIMACS CNF files and applies watched literals, clause learning, and restarts. A Sudoku encoder turns puzzles into CNF as a demo. The test suite checks every reported model with an independ - query-plan-playground
Java- 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. - web-a11y-regression-guard
TypeScript- A CI-oriented tool that compares accessibility scans between two builds and blocks only newly introduced, evidence-backed regressions.

