Skip to main content

Projects

inconnu

A Python data privacy library for redacting and pseudonymizing sensitive text with NLP-based entity detection.

harness

Opinionated project templates with built-in guardrails so AI coding agents produce reliable, maintainable code from the start.

How harness works

The problem: checks that drift

An agent can finish an edit while formatting, types, and tests disagree about whether the work is ready. Repeating the instructions in a prompt leaves the checks dependent on whoever remembers to run them.

The work: a shared command contract

Harness puts the checks in the project. Its language templates expose the same small set of commands, backed by each language's tools. The Bun template, for example, combines formatting, type checking, and tests behind one entry point.

The trade-off: repair locally, verify in CI

A local check can fix formatting and keep an edit moving. CI needs to judge the submitted code. Harness separates those jobs: check can change files; ci verifies them without applying fixes. The cost is maintaining language-specific runners behind the shared commands.

Harness in practice

Inside a project using the Bun template:

bun run check
bun run ci

The first command runs the local feedback loop. The second checks whether the result meets the project's CI gates.

Read the command contract and templates (opens in new tab).

interlocks

One deterministic Python quality loop for linting, typechecking, tests, coverage, and agent-authored pull requests.

wando

Curated security and privacy recommendations for teams that need practical guidance they can actually follow.

sentinel

URL security analysis tool that traces redirect chains and detects threats to protect users from malicious links.

My portfolio and blog built with Next.js, Tailwind CSS, and MDX.