The Component Manifesto
A systems-minded manifesto for building components that feel purposeful, balancing engineering rigor with design intent.
Site
I help teams design experiences that feel inevitable, where engineering, content, and brand move together without seams.
Latest writing
Essays on engineering leadership, design systems, and durable story-driven products.
A systems-minded manifesto for building components that feel purposeful, balancing engineering rigor with design intent.
A systems-first approach to crafting purposeful 404/403/500 experiences in Phoenix LiveView, blending Ash exceptions, Phoenix conventions, and brand-conscious storytelling.
A purposeful walkthrough of how Elixir protocols turn polymorphism into a design practice that balances clarity, extensibility, and humane developer experience.
Collaboration
Product orgs, from Fortune 50 to boundary-pushing startups, use my systems thinking to ship work that resonates.
Open source
Shipping contributions and shepherding initiatives across the projects that defined modern product development.
Storybook is a frontend workshop for building UI components and pages in isolation. It helps developers build robust UIs and streamlines the development workflow by providing a dedicated environment for component development.
Ash is a declarative, resource-oriented application development framework for Elixir. It provides a powerful way to model your domain and build applications with automatic API generation, authorization, and more.
Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
React on Rails integrates React with Rails. It provides server-side rendering of React components, better performance, and a seamless developer experience for building modern web applications with Rails.
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML syntax to express your application components clearly and succinctly.
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Partnerships
Product strategy, editorial systems, or experience architecture? I help teams translate ambiguity into narrative clarity.