Migrating the Wealthfront web app to TypeScript
Over two years ago, the Wealthfront web team began adopting TypeScript to take advantage of the type safety and related functionality it enables. This is a common migration in the past few years across the industry since the web community mostly settled on TypeScript as the language of choice. Since then, the codebase has naturally… Read more
Designing a harness for readable, thorough Android tests
At Wealthfront, we are committed to automation – both in the products we build, and in how we ensure quality. In this post we’ll explore how our automated test harness enables Android developers to quickly build tests for almost any scenario. Part 1: Writing “fluent” Espresso test code Since they are designed to operate in… Read more
Evolving Wealthfront’s Web tech stack
Over the past year, we’ve adopted more frameworks and libraries to deliver a better user experience. Our core web application is driven by a tried-and-true Ruby on Rails server that serves React apps. This serves us well, but we wanted to build richer and more performant experiences for prospective clients interested in our products. Specifically,… Read more
How Bandit Testing Improves A/B Tests at Wealthfront
What is bandit testing? You’ve probably heard of A/B testing, but you may not be familiar with its alternative — bandit testing. As a reminder, an A/B test consists of one or more variants and a “control”. The control should replicate the existing experience, if applicable. Each variant will result in a different experience for… Read more
Building Wealthfront’s multi-platform design system
Over the past two years at Wealthfront we’ve been building a design system from the ground up across all our frontend platforms: Android, iOS, and web. If you’re a Wealthfront client you may have noticed sweeping, iterative visual changes across our apps as we introduced new components and migrated features to adopt these components. At… Read more
Retrying e2e test suites with Jest
At Wealthfront, we pride ourselves on reliable test coverage across our codebases. However, like many engineering teams, we haven’t been able to completely eliminate flakiness from our end to end (e2e) test suites. While migrating to puppeteer certainly helped, it didn’t eliminate the problem entirely. We’ll get into what causes these flakes below, but suffice… Read more