At Amplitude, we pride ourselves in our attention to the customer. Not just in customer success or product management, but also in engineering, where Customer Focus is one of our guiding principles. Every line of code and every decision should ultimately come back to what the customer needs or wants.
When you’re not talking to customers every day, however, this sense of customer-centricity can get dulled. That’s why we’re always looking for ways to reinforce our values and exercise our “customer muscles” as engineers — we want to make sure we’re always thinking beyond the immediate ramifications of what we’re building.
As we discovered at Amplitude’s recent company offsite, one of the best ways to reinforce those values is by playing with Legos.
It’s impossible to design the perfect product from day one.
At some point, you realize that the type of user you care about has changed, or that you built something designed for 1999, or that the designer you hired has better ideas than you (the engineer) did.
It’s all too easy to forget to build for the future, especially when you think you know exactly where your product is headed.
A lot of things have changed design-wise and product-wise over the years at Amplitude, which got us thinking again about our front-end architecture. It’s been a long time coming, but we’ve designed a new front-end architecture – which we’re calling Lightning – that is capable of handling all the changes we have on the horizon without sacrificing how fast we can build.
This post is an initial look at our motivations for coming up with a new front-end architecture and the basic approach we took. We’ll be talking more specifically about what we’ve learned along the way in our upcoming posts.