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