Skip to content
Ethan Hann

Projects

Professional work I've shipped, plus open-source projects on GitHub.

Backend

Snakeway

backend

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.

  • Search
  • ·Redis
  • ·PHP

Frontend

mantine-nav

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).

  • React
  • ·Mantine v9

A React grid component library built on Mantine v9 and TanStack Table v8. It renders a server-driven, paginated data set as either a table or a card grid, switchable at runtime, with full feature parity between the two.

  • 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.

  • React
  • ·Mantine v9

mantine-can

frontend

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.

  • React
  • ·Mantine v9