Alexa Shopping
I was in Alexa Shopping from June 2020 to June 2025, my first job out of college. I joined as an SDE I and left as an SDE II.
Federated System Configuration
Alexa conversations are multi-turn. You ask about a product, then add it to your cart, then check out. Different teams own different parts of that conversation (cart, product details, etc.), and my team owned the orchestration layer that routed between them.
The problem was that all these teams needed to share configuration, and the way we did it was through shared code dependencies. If one team updated something, it could break another team downstream. Classic dependency hell.
I designed and built a federated configuration system that let each team manage their own config independently while still keeping everything in sync.
Approval Workflow
Before my system, when someone changed a config, it was up to my team to manually figure out which other teams needed to sign off, and then the developer had to chase those approvals. Changes regularly hit production without all the right sign-offs.
I designed an automated approval system that analyzed a change's dependencies, added the right teams to the code review automatically, and blocked the change from merging until everyone approved.
Command Line Interface
The config system started as a web tool. Partner teams kept telling us they wanted to work in their IDEs instead. I advocated for building a CLI, but leadership preferred investing in the web portal until AI coding tools changed the conversation. Developers couldn't use terminal-based AI assistants against their config without local access. I made the case again, got the green light for an MVP, and built it.
Teams switched to the CLI almost immediately. It became the primary way people interacted with the system going forward.
Order Tracking on Alexa+
My team took ownership of the order tracking systems (the "where's my Amazon order?" experience and push notifications for shipped/delivered items). What we inherited was a mess: five services with overlapping responsibilities that called each other in confusing ways. Releases took three to four weeks. The only way to test was to make real purchases on a real credit card. Seriously.
Consolidation
I designed a rearchitecture that decomposed the five services into three with clear responsibilities: an async state machine for notifications (shipped/delivered alerts), a synchronous API for on-demand queries ("where's my stuff?"), and a shared data aggregation layer underneath both. Routing data access through one place meant services stopped sharing code directly, which is what made the original system so fragile.
I also designed and built an order mocking framework so we could simulate order state transitions without buying real stuff.
Generative CX
The original Alexa+ plan was to use an LLM to invoke our existing experience but leave the experience itself unchanged, meaning we'd still be maintaining hardcoded conversation paths by hand. I advocated for going further and having the LLM generate the experience dynamically. I led the exploration and shipped it to production.
AI CX Evaluation Framework
As AI-generated experiences became a bigger part of Alexa Shopping, I designed and built an org-wide evaluation framework so teams could actually see what happened when someone changed a prompt. It showed which experiences improved, which regressed, and by how much, based on test cases each team provided. Without this, people were basically shipping prompt changes and hoping for the best.
Leadership
I stayed hands-on with what the rest of the team was working on: pairing on problems, making sure good ideas from other developers got visibility with leadership (with credit going to them, not me), and helping the team build work plans with realistic timelines when we had aggressive deadlines.
I also prioritized translating technical details into something leadership could actually act on without needing to understand every implementation detail.