Design System Starter
Built to eliminate repetitive setup for new projects
Production-ready component library with WCAG 2.1 AA compliance, semantic tokens, and comprehensive documentation. Features 24+ components with full TypeScript support.
I focus on clarity, accessibility, and long-term maintainability. I design software that survives version 1.
Production systems built to last, not demos that impress.
Built to eliminate repetitive setup for new projects
Production-ready component library with WCAG 2.1 AA compliance, semantic tokens, and comprehensive documentation. Features 24+ components with full TypeScript support.
Built to handle long-lived workflows reliably
Distributed task queue with retry logic, dead letter handling, and real-time monitoring. Processes 100K+ jobs daily in production.
Built to explore accessibility-first UI systems
Component library demonstrating advanced WCAG 2.1 AAA patterns. Includes keyboard navigation, screen reader support, and reduced motion preferences.
The stack and constraints I work with.
→ Accessibility (WCAG 2.1 AA)
→ Performance (<3s LCP)
→ Maintainability
→ Long-term thinking
Notes on engineering, design, and building things that last.
Building accessible software isn't just about compliance—it's about building better systems that work for everyone. Here's why I make it a first-class concern.
Choosing proven, stable technologies over shiny new frameworks. Why constraints breed creativity and how boring stacks enable focus on real problems.
The developer who inherits your code in two years might be you. How to write software that's maintainable, deletable, and kind to your future self.
I believe software should be built with intention, not haste. Every decision compounds — for better or worse. I care about what happens after version 1 ships.
I prioritize clarity over cleverness, systems over shortcuts. The best code is code that's easy to delete. The best architecture is the one that doesn't fight you two years later.
Right now, I'm focused on building accessible design systems and exploring how modern web primitives can improve developer experience without sacrificing user experience.
Add your professional photo here
Code should be obvious, not impressive. If it needs comments to explain, it needs rewriting. The goal is understanding, not showcasing technique.
Solve the pattern, not just the symptom. Fix the root cause, not the error message. Quick fixes compound into technical debt faster than you think.
Build for version 10, not version 1. Design for the developer who inherits this in two years. That developer might be you, and they'll thank you for the foresight.
Have an idea? Building something interesting?
Tell me what you're working on.
I usually reply within 24–48 hours.
Get in Touch