Open Source

Tools, patterns, and ideas built in the open

I maintain and contribute to open-source projects because I care about clarity, explicit behavior, and systems that scale cognitively. Technical scale matters too. Open source is where I test ideas, sharpen patterns, and share what works in real products.

These projects are where the questions in my writing get exercised under real constraints.

Why I build in the open

In the systems I worked on, the problems that stayed with me were about unclear behavior, hidden assumptions, and systems that were hard to reason about.

I started building in the open after noticing those patterns repeat:

  • Explore better ways to model behavior.
  • Reduce accidental complexity.
  • Improve developer experience.
  • Share patterns that survive real-world constraints.

Featured projects

Primary project

Ignite-Element Start here

Behavior-first web components.

Ignite-Element bridges state machines and custom elements, making it easier to build UI components whose behavior is explicit and testable.

  • Statecharts as the source of truth
  • Clear separation of behavior and rendering
  • Reduced state drift
  • Components that scale with complexity

Read the documentation → View source on GitHub →

Foundational work

Actor-Web

A pure actor-model runtime for JavaScript/TypeScript.

Actor-Web is a minimal actor system inspired by Erlang/OTP. It helps you build resilient, message-driven JS/TS systems with location-transparent actors. It’s not a UI framework. It’s a foundation for reasoning about concurrency, boundaries, and lifecycles across client and server environments.

  • Actor-based boundaries and ownership
  • Message-driven communication (bounded mailboxes)
  • Predictable lifecycles and explicit failure handling
  • Systems that stay debuggable as complexity grows

If Ignite-Element is how these ideas land in UI components, Actor-Web is where they’re stress-tested at the system level.

View Actor-Web on GitHub →

How this connects to my work

These projects aren’t side hobbies. They extend how I think about systems. Open-source work informs my workshops. It shapes my advisory approach. It improves the tools I bring into client environments.

They are the practical side of the same ideas I explore in Behavior & Boundaries.

Who this is for

  • Explicit system behavior
  • Statecharts and the actor model
  • Long-term maintainability
  • Developer experience that scales
  • Learning through real examples, not theory

If that resonates, you’re in the right place.

Supporting the work

I split my time between client work and open source. Sponsorships and community support help keep these projects moving forward.

  • Star or contribute on GitHub.
  • Sponsor development when possible.

Want to go deeper?

Explore the Behavior & Boundaries series and related applications.

If you are new to the series, start with When Code Becomes Cheap.

Read my writing