Projects
Professional work I've shipped, plus open-source projects on GitHub.
Backend
A span-first configuration parsing, validation, and lowering Rust crate. The compiler-like design provides a structured approach to building configuration subsystems. It is particularly suited for large configuration surfaces in software with high reliability requirements.
- Rust
- ·Configuration
- ·HCL
- ·TOML
- ·Compiler
A programmable reverse proxy built on Pingora. Configure routing, middleware, TLS, traffic policy, and all sorts of other things with HCL. Extend behavior with WebAssembly devices.
- Rust
- ·Pingora
- ·HCL
- ·WebAssembly
A PHP client library for the Redis Search module which adds full-text search to Redis. I released the first version of this almost 10 years ago. People are still using it. I try to keep it updated.
Frontend
A React navigation component library built on Mantine v9. It adds a sophisticated set of nav components ontop of the core Mantine AppShell. All sorts of stuff... navbar, sidebar, keyboard navigation, and SaaS-oriented building blocks (workspace switcher, user menu, plan badge, notification indicator).
A React grid component library built on Mantine v9 and TanStack Table v8. It renders a server-driven, paginated data set as a table, card grid, schedule, or resource view, switchable at runtime, with nearly full feature parity between presentations.
- React
- ·Mantine v9
- ·TanStack Table v8
The single-record companion to @ethanhann/mantine-dataview. Where dataview is the many (a read-only list), mantine-detail is the one. A record's view / edit / create lifecycle, presented in a pluggable surface (drawer / modal / panel / inline) and reconciled back into a list of records.
Where nav/dataview/detail render content, mantine-can decides whether a given subject may see or do a thing, and renders that decision as hide, disable, or an upgrade prompt.