Software engineer who builds systems that show their evidence
I build applications and the tools around them: automated tests, developer utilities, and workflows for implementation, review, and delivery.
My background is enterprise quality engineering. My independent work spans reusable engineering tools, geospatial applications, and local AI systems.
Portfolio and case studies · Based in western North Carolina
| Project | What it does | Explore |
|---|---|---|
| Playwright E2E Guides Template | Uses the same journeys for regression tests and recorded user guides. Includes a synthetic example app, resumable recording, and publication validation. | Source and quickstart |
| Docket Lens | Processes public comment documents into structured classifications and source-linked reports, with incremental processing and documented limitations. | Source · Example reports |
| Blue Ridge Skyline | A stargazing planner combining moon phases, forecasts, mapped observing locations, and terrain-aware sky views. | Source · Published app |
| Fieldstation | Published observations from a camera-and-microphone bird station using local classification. This public repository contains generated site output and data, not the private inference pipeline. | Output and data · Published site |
I'm packaging the reusable parts of my development workflow into a starter kit: Playwright verification and documentation, task-based agent orchestration, and repository/deployment configuration.
The Playwright template is public. The broader kit is still being extracted and documented.
Define acceptance criteria before implementation. Use deterministic fixtures where possible. Keep failure evidence available for diagnosis, distinguish generated artifacts from source, and make limitations explicit.
My goal is less repeated setup and supervision, without making the resulting software harder to review or maintain.
Loops explores browser-based walking-route generation, elevation processing, and local persistence. Longer project write-ups are on my portfolio.



