Projects
Things I've built on my own time — compilers, databases, libraries, and a methodology. Most are open source; the links go to the code.
ForgeDB
Featured2026An application-database generator: write one declarative .forge schema and, at compile time, get a tailored Rust database, a typed TypeScript SDK, and a REST API with an OpenAPI 3.1 spec. It's a code generator, not an ORM or query engine — the output is specialized per schema over columnar storage, so there's no generic runtime to pay for.
- Rust
- TypeScript
- Code generation
- Columnar storage
- OpenAPI 3.1
typescript-to-rust (ttr)
Language-level translator that compiles a strict TypeScript dialect into idiomatic Rust with true ownership semantics (borrows vs. owned values, &self / &mut self methods), with output verified by a real cargo toolchain rather than string matching.
- TypeScript
- Rust
- Compilers
- Ownership semantics
Optigon
Packages several interchangeable implementations of an operation (sorting, dictionary lookup, more to come) behind one interface, then learns per workload which is fastest via regret-scored adaptive dispatch. One Rust core, shipped as native addons to TypeScript (Node + Bun) and Python.
- Rust
- TypeScript
- Python
- Native addons
- Adaptive dispatch
AI Project-Management Playbook
A portable GitHub project-management methodology organized by exactly two axes — milestone and labels — so a project's state stays derivable from the code instead of asserted by a board that drifts. Published as @hoodiecollin/pm-playbook: it vendors the rules into a repo for coding agents to read, and ships a linter that enforces them in CI, plus a Claude Code plugin that blocks violations before they land.
- Methodology
- GitHub Projects
- npm package
- Linter
- Claude Code plugin
checked-rs
Rust library that encodes arbitrary validation logic into the type system, with a proc-macro that generates specialized, self-validating integer types.
- Rust
- Proc macros
- Type-level validation
use-quantum-state
TypeScript / React library for fine-grained cross-component state: subscribers update without replacing the provider's value, so only components bound to a changed property rerender — cutting render cycles in high-frequency UI such as large tables.
- TypeScript
- React
- Fine-grained reactivity