howmanysmall

Independent open-source creator

Tools for the work around the work.

I'm howmanysmall. I build useful, high-performance libraries and developer tooling--with enough documentation that somebody else can decide whether to keep it.

Selected work

Built, released, maintained.

Four projects that show the range: language tooling, repository automation, long-lived library stewardship, and API design across ecosystems.

Developer toolingTypeScript

small-rules

Strict tooling earns its place when it explains itself and stays out of the way.

Ninety opinionated lint rules, moved from ESLint to Oxlint without giving up useful diagnostics.

A rule report should point to a decision, not merely announce a failure.
Repository automationRust

pullhook

Repository automation should be invisible when nothing changed and dependable when it did.

A small cross-platform tool that runs the right commands after a pull changes the files they depend on.

This site uses pullhook to react to dependency changes without running setup work after every pull.
Open-source libraryLuau

Janitor

Cleanup code should make ownership obvious before it makes anything clever.

A widely used cleanup utility for Roblox projects, maintained as a small and predictable lifecycle API.

Based on Validark's original implementation.

One owner gathers cleanup work; one cleanup boundary releases it predictably.
Library evolutionLuau · TypeScript · Lua

Data Structures

Rebuilding the same idea in three languages is a useful way to discover what the idea actually is.

A collection carried from Lua to TypeScript to typed Luau as the target ecosystem and API expectations changed.

Three implementations, one recurring question: what belongs in the structure and what belongs at the call site?

Ideas

Notes from the part where I figure it out.

Selectively open

Have a useful problem?

Relevant roles, open-source collaborations, and concrete ideas are welcome.

[email protected]