Amazon
SeattleL4 2014L5 2016L6 2019
Tech lead, Amazon's language for building user interfaces
- Team
- 10–12 engineers
- Scale
- part of ~80% of amazon.com pages
- Security
- Amazon's preferred XSS defense
- Focus
- language design, type systems, compilers, interop with other languages
- Stack
- Kotlin compiler; JVM and JavaScript targets
- Tooling
- language server, MCP server
I joined in 2018, when the team was four engineers, and I've been its tech lead since 2019. It started as a safer way to template HTML. Today it's a full UI language that renders part of about 80% of amazon.com pages, and the team is 10–12 people. It's statically typed and compiles to the JVM and JavaScript, for server-rendered pages, the browser, and React Native.
- Designed and built its reactivity, which works two ways: templates interoperate directly with React, or run on the language's own reactive framework, which updates only the markup that depends on changed state and hydrates only a page's interactive parts. I led a team of five to ship it, and it now runs across thousands of Amazon shopping experiences.
- Led a ground-up rewrite of the type system. It should feel familiar to anyone who writes TypeScript, the types are sound, and nobody writes a template's signature by hand.
- Cross-site scripting protection lives in the compiler, which knows where each value lands in the page and escapes it for that spot. Amazon's security team recommends it as the first line of defense for server-rendered HTML.
- Grew the tooling around the compiler: a language server for editors and, more recently, an MCP server, so AI agents get the same errors and hints engineers do.
- Set the language's direction with the team each year, toward making it the easiest way for people and AI agents alike to write UI that's right the first time.
- Base design decisions on data: research into how other languages handle the same problems, feedback from the engineers who use it, and the compile-time metrics we track to catch regressions.
- Mentored engineers through seven promotions, five to L5 and two to L6.
A front-end build system and asset pipeline
- Scale
- thousands of teams across Amazon shopping
- Stack
- JVM core (Java, Kotlin), Ruby, JavaScript
The front-end build tooling behind Amazon's retail pages (similar to Grunt, Gulp, or webpack), paired with the system that ships their assets to the CDN. Every page builds as a matrix of variants — device × locale × language × A/B test — with each combination sliced to carry only what it needs (the key to fast pages before HTTP/2), so each new dimension multiplies the build. As a core contributor, I introduced switching tools that let teams declare variants without building every combination, keeping builds fast as the matrix grows, and designed the plugin framework teams extend it with.
A front-end framework and component library
- Team
- 10–20 engineers
The foundation of Amazon's retail pages. I worked across it — the carousel on mobile, tablet, and desktop, sweeping refactors, a TV navigation interface for the web — and designed how new versions were released to product teams.