Skip to content

Selected work

Tools for reproducible execution and clearer codebases.

These projects came from two questions I kept running into: why the same command behaves differently across environments, and how I can understand a large repository without leaving my machine.

Creator & maintainer

ReproRun

A deterministic command runner for investigating flaky tests, unstable cache keys and differences between local and CI environments.

RustCLIYAMLBLAKE3

Why I built it

A failure can disappear when the same command moves between a laptop and CI. ReproRun keeps the command, environment and declared inputs stable, then gives each run a content hash so differences can be inspected instead of guessed at.

What it does

  • Controls locale, timezone, random seeds and fixed time
  • Restricts filesystem access with allowlists and denylists
  • Hashes the command, environment, inputs and Git metadata with BLAKE3
  • Caches successful artifacts by content hash

ReproRun is built for reproducibility, not untrusted-code isolation.

View ReproRun on GitHub

Creator & maintainer

RepoGraph

A local-first code intelligence tool that indexes Python and JavaScript/TypeScript repositories for search, architecture and change-impact analysis.

PythonSQLiteASTTextual

Why I built it

Understanding a large repository often means moving between files, search results and Git history. RepoGraph keeps that context in an offline SQLite index that can be explored from the command line or a terminal UI.

What it does

  • Indexes Python and JavaScript/TypeScript into SQLite and FTS5
  • Explains symbols, imports, routes and related tests
  • Shows change impact, import cycles and possible dead code
  • Scores risk from local Git diffs and opens the graph in a TUI
View RepoGraph on GitHub