I work as a principal software developer, leading a team that looks after UI practices and platform personalization services in a large organization.
export const DEV = {
code: [Javascript, Typescript, HTML, CSS],
tools: {
frontend: [React, React-Query, TanStack Table, Storybook, Vite, CSS Modules,
Testing Library, Module Federation],
backend: [Node, Express, Apollo, GraphQL, RabbitMQ, Kafka, Mongo],
ai: [Claude Code, Cursor, Agent-Driven Development, Skills, Verification Workflows],
ops: [Helm, Kubernetes, Docker, Jenkins],
},
experience: [
"Large single-page apps that stay fast and coherent as teams grow.",
"Micro-frontends and UI platform practices across large organizations.",
"Node services, domain-driven APIs, monolith to microservices transitions.",
"Directing AI agents on real products, from pixel art to production deploys.",
],
}- Rebuilding Zork's world with Claude: Fable vs everything that came before - Blog, July 2026
- Micro-frontends with module federation in practice - Talk, Confoo 2023 (notes)
- Building an AI Chatbot With Node.js - Talk notes, JS-Montreal 2023
- Zork UI - The original 1980 Zork I in the browser, untouched, wrapped in 110 animated pixel-art scenes that react to the live game. Built entirely with Anthropic's Fable 5 model - source (2026).
- Inker - A framework to build and send transactional emails (2015).
- Scrum Release Notes Mobile App - A little app that tells you how your scrum projects are actually doing (2016).
- Grunt Generate - Generates files from user-defined templates (2014).
For many years I maintained position-absolute.com, a blog started at the height of jQuery. It was a great way to share my adventures, and I kept a few favorite posts here.
- Rebuilding Zork's world with Claude: Fable vs everything that came before - July 6, 2026
- Exploring Cloudflare Workers - May 28, 2024
- Exploring the Future of AI in Web Interfaces: Beyond Chatbots - March 17, 2024
- Navigating Transactional Email Development: A Historical Perspective and Some Solutions - January 2, 2024
- Exploring Micro-Frontends with Module Federation: Insights from Practice - May 15, 2023
- Rethinking Workplace Communication: Beyond the Chaos of Constant Chats - June 21, 2016
- The Controlled Input Dilemma with React & Redux - January 28, 2016
- Reflecting on the Sale of a Side Project: The Journey of WeddingDeck - November 13, 2013
- Navigating the Quirks of IE6: A Developer's Dilemma - April 28, 2009
- Where front-end web development will be in 5 years - March 30, 2009
- The front-end developer's burden - September 23, 2008
Once upon a time, I was a very active open source contributor. I am proud of that work, but most of it is old enough that you should not copy its practices.
After a few quiet years (my previous attempt, Inker2, a small Typescript email delivery service, never got finished), Zork UI brought me back to shipping open source in 2026.
I also created and maintained one of the most popular jQuery form validation libraries. It launched on Google Code in 2011 and followed me around for years.





