I'm Frank — a software engineer who works mostly in Rust, mostly at the seam between developer tools and the systems they sit on top of.

Lately that's meant four things.

gm-crypto-rs is a pure-Rust SDK for the Chinese national crypto standards. Its secret-handling paths are designed to run in constant time, and an in-CI leak harness re-checks that on every commit rather than trusting the design review. The core group fails the build when it crosses the published gate.

RepoLens is a repository memory layer for AI coding agents — a typed, decaying memory graph exposed over MCP, so a new session doesn't start cold.

ghrunners is a small observability CLI that exists because debugging self-hosted GitHub Actions runners on macOS shouldn't take an hour.

Explainer Engine is a rendering pipeline for concept videos that refuses to draw an explanatory claim it can't verify against the source.

I build tools where correctness, state, and failure modes need to remain inspectable. The projects differ in subject; the recurring concern is the same — software that can explain what it knows, what it changed, and where its boundaries are.

In practice that is a preference for the unglamorous parts of the work: clear naming, the regression gate that catches a leak before a release, the comment that finally explains why. The opinionated stuff.

The project pages here are the honest snapshot — each states its release state, evidence, and limits, including for the work that isn't public. GitHub carries the source for what is public.