Personal engineering projects. The repositories are private, so I describe the work here.
Evidence-based CV system Active
AI drafting tools kept inflating my CV. Rough estimates hardened into precise figures from one draft to the next. Nothing recorded where a claim came from. At one point twelve numbers on my CV had no source at all. So I rebuilt it from a fact base. Every claim has a source and a tier: verified, stated, estimated, or do-not-claim. Only verified and stated claims reach an employer. A Python generator builds the Word and PDF files from the fact base. It also writes a build sheet that maps every CV line to its sources. A small Next.js editor edits the fact files in place. It leaves untouched lines byte-identical. It refuses a write if the file changed on disk since it was loaded. Before each release, independent AI review agents audit the CV against the facts. None of the twelve unsourced numbers survived.
Python
Node.js
Next.js
TypeScript
docx generation
AI review agents
Fact files
Generator
CV (Word, PDF) and build sheet
Audit agents
Corrections go back into the fact files
The flow, step by step.
AI pair-programming method and Rust service template Active
A working method for building software with AI agents. It draws on domain-driven design, BDD, TDD, and ADRs. Its rules are encoded as tools and shared vocabulary that constrain what an agent does. Working documents expire when a branch merges. One hard rule: CLI before HTTP. A Rust, Axum, and PostgreSQL service template puts the method into practice.
Rust
Axum
PostgreSQL
ADRs
TDD
BDD
DDD
Smallchat for WordPress Maintenance onlyAuthorPluginWordPress
A WordPress plugin that adds the Smallchat chat widget to a site, so visitors can talk to a team through Slack. The official plugin accepts arbitrary JavaScript. Mine loads only the Smallchat embed code, which helps where plugin installation is restricted. You enter your Smallchat client ID under Settings, then Smallchat. I no longer develop it. I update it to keep it compatible with new WordPress versions.