Amazon
SeattleSDE I 2014SDE II 2016Senior SDE 2019
A programming language for user interfaces
- Role
- Tech lead
- 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 lead an internal programming language for building user interfaces: statically typed, compiled to both the JVM and JavaScript, and grown from a safe templating language for HTML into a full UI language that lives alongside TypeScript. I own its governance — syntax, type system, compiler architecture, and releases. Its tooling shares the compiler's understanding and its precise error messages: a language server for editors, an MCP server for AI agents, and a plugin architecture other teams build their own static analysis on.
I lead its direction with the team: a north star for where the language is going, a plan each year that moves it closer, and reprioritizing through the year as we learn. The north star is an approachable language for front-end work that catches problems in the compiler, early, so engineers and AI agents alike can build UI quickly and safely, made for Amazon's polyglot stacks. Each step has built toward it: a typed templating language that met Amazon's UI developers where they were, with type safety and security built in; a language server that brought the compiler's understanding into every editor; and interop with TypeScript's type definitions, so it works alongside the code teams already have. We sequence and cut work so the long-term pieces land, and ground new features in analysis of the wider industry and in what the engineers who use it tell us; I turn that analysis into the case for each change in design reviews. We built metrics on compile time that catch performance regressions before they ship, and I use them in reviews to hold the line on compile speed.
Its guarantees are built in. The compiler knows where every value lands in the markup, and the runtime that writes the final bytes escapes each one for exactly that place, so templates are safe from cross-site scripting by construction. Amazon's security organization names it the first-choice defense against cross-site scripting in server-rendered HTML, ranked ahead of manual output encoding. Escaping only what each context needs keeps rendering fast. The type system is structural and sound, in the spirit of TypeScript, and I led its ground-up redesign. Template authors write no type signatures: the compiler infers each template's signature from how its parameters are used.
I designed and built its reactivity, the model React.js, Svelte, and SwiftUI share: a template declares its view as a function of state, and when state changes, only the markup that depends on it updates. Reactivity is its own layer of the type system, so the compiler knows which values are state and where they reach, and each template compiles to a server render plus a client bundle that hydrates only its reactive regions. I led five engineers in delivering it, and it runs across thousands of Amazon shopping experiences.
Along the way, I've mentored engineers to seven promotions: five to SDE II, two to senior.
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.