Emilio Lopez

Integrating D3 into React

D3 and React are both incredibly popular. Unfortunately, if you try to integrate D3 into a React application, you’ll hit some snags due to differences in how they each manipulate the DOM. I’ll discuss the problem, the existing ways the community has tackled it, and the approach Wealthfront took. Note that the choice we made […]

February 14, 2017
Martin Loncaric
Martin Loncaric

A specific trick and a general habit for achieving fast computations

I recently worked on a computation involved in a client-facing projection graph. In order to delight our users, we wanted it to respond instantly to user interaction. However, there are two forces at play that make the calculation complicated: the consistent contributions of recurring deposits and the erratic motion of stock prices. We needed to […]

December 15, 2016

Kevin Johnstone

Reflective Metatesting. Protecting You from Yourself and Everybody Else.

Infrastructure projects often take user-defined configuration classes as input. I’ve worked on several during my tenure at Wealthfront. You cannot trust the validity of these configurations, even if you wrote them yourself. A pattern I’ve grown to love is writing JUnit tests that use reflection to gather all the input classes to run a suite […]

November 16, 2016
Eli White
Eli White

Handling unhandledrejections in Node and the Browser

As a financial product, Wealthfront runs on trust. Our clients expect the product to be there for them and work as they expect. Engineering at Wealthfront makes writing high quality tests a priority. For our clients to trust our product and brand, we must ensure we have that same confidence in our tests. We recently […]

November 03, 2016

Yen-Ming Lee

Checkstyle at Wealthfront

At Wealthfront we use Checkstyle to enforce some coding standards, also to detect bad practice at the early stage. In this blog post, we will describe how to configure Checkstyle and how to customize that for our needs. How to configure Checkstyle? There are three components working together to automate all these checks: checkstyle: the tool […]

October 26, 2016

James Robinson

The Perils of Accidental Global Includes in Ruby

We deploy our front-end code to production multiple times per day. Our ability to do this is closely tied to our confidence in our test suite and deployment infrastructure. Tens of thousands of tests are run against our code whenever we click the deploy button. Given that this is the case, when something happens that […]

October 14, 2016