Jun
02
2021
--

How Expensify hacked its way to a robust, scalable tech stack

Take a close look at any ambitious startup and you’ll find pugnacity nestled in its core. Stubbornness and a bullheaded belief in the worth of what a company wants to bring to fruition is often the biggest driver of its success, and the people at such companies also tend to share this quality.

So it wouldn’t be too far off the mark to say the people at Expensify are a stubborn lot — to the company’s ultimate benefit. This group of P2P pirates/hackers that set out to build an expense management app stuck to their gut, made their own rules. They asked questions few thought of, like: Why have lots of employees when you can find a way to get work done and reach impressive profitability with a few? Why work from an office in San Francisco when the internet lets you work from anywhere, even a sailboat in the Caribbean?

It makes sense in a way: If you’re a pirate, to hell with the rules, right? And even more so when nobody can explain the rules in the first place.

With that in mind, one could assume Expensify decided to ask itself: Why not build our own totally custom tech stack? Indeed, Expensify has made several tech decisions that were met with disbelief — from having an open-source frontend and cross-platform mobile development to hiring contractors to train its AI and recruiting open-source contributors — but its belief in its own choices has paid off over the years, and the company is ready to IPO any day now.

How much of a tech advantage Expensify enjoys owing to such choices is an open question, but one thing is clear: These choices are key to understanding Expensify and its roadmap. Let’s take a look.

Built on Bedrock

I think another question Expensify also decided to ask in its early days was something like: Why not have our database on top of a technology that’s built for small-scale application software?

It may sound incredible, but Expensify actually runs on a custom database built on top of SQLite. This is surprising, because despite being one of the most widely deployed database engines, SQLite is known for running on small, embedded systems like smartphones and web browsers, not powering enterprise-scale databases.

It may sound incredible, but Expensify actually runs on a custom database built on top of SQLite.

This custom database is called Bedrock, and its architecture is as unique as they come. Expensify explains it as an “RDBMS optimized for self-healing replication across relatively slow, relatively unreliable WAN (internet) connections, enabling extremely high availability/high performance multi-datacenter deployments without any single point of failure.” RDBMS means relational database management system, describing SQLite and other row-based databases where entries are interconnected with each other.

But why would Expensify build this instead of going for any number of widely available enterprise database solutions?

To answer that question, we need to go back to the early days of the company, which was originally a side project for its founder and CEO, David Barrett. His initial idea was to develop a prepaid card for the homeless, but this required putting a server on the Visa network, which brought several strict requirements and challenges. “I would say one of the most difficult [parts] was that I needed the ability to automatically replicate and failover,” Barrett told TechCrunch when we interviewed him a couple of months ago.

This was no easy feat in 2007, but Barrett was up for the challenge. “I just hit a moment where the technology available off the shelf just wasn’t that good. And I happened to be a peer-to-peer software developer who had tons of spare time and really wanted to build this thing to put on the Visa backend,” he said. The P2P aspect was important, as Barrett had the skills to make it work. His first hires for Expensify, P2P engineers he had worked with at Red Swoosh and Akamai, were also unusually suited for the job.

May
18
2021
--

How Expensify got to $100M in revenue by hiring “stem cells” and not “cogs in a wheel”

The influence of a founder on their company’s culture cannot be overstated. Everything from their views on the product and business to how they think about people affects how their company’s employees will behave, and since behavior in turn informs culture, the consequences of a founder’s early decisions can be far-reaching.

So it’s not very surprising that Expensify has its own take on almost everything it does when you consider what its founder and CEO David Barrett learned early in his life: “Basically everyone is wrong about basically everything.” As we saw in part 1 of this EC-1, this led him to the revelation that it’s easier to figure things out for yourself than finding advice that applies to you. Eventually, these insights — and the adventurous P2P hacker attitude he nurtured alongside his colleagues and Travis Kalanick at Red Swoosh — would inform how he would go about shaping Expensify.

Expensify’s culture can’t be separated from its hiring and growth processes — by joining the company, employees self-select into a group that isn’t likely to get hung up about trade-offs.

It’s striking how Expensify has managed to maintain this character 13 years later, even on the threshold of an IPO. How did this happen? During a series of interviews in February and early March, we found the answer is tied to the level of thought and effort this expense management business puts into its culture.

You see, the people at Expensify are prepared to invent their own playbook, develop it and, if needed, rewrite it completely. Its HR policies and strategy are tailored to find people who would have fun building an expense management product. It has a unique growth and recognition scheme to offset the drawbacks of a flat organizational structure. It’s even got a “Senate” that vets all major decisions. No kidding.

All this, and more, has ultimately helped Expensify reach more than 10 million users and achieve $100 million in annual revenue with just 130 employees. Let’s take a closer look at how Expensify makes it happen.

“We want the fewest people necessary to get the job done”

It’s clear Expensify’s unusually high employee-to-revenue ratio is intentional: “We want the fewest people necessary to get the job done,” Barrett says. But how do you actually achieve it? How do you hire and keep people who can deliver such results? Barrett had to learn how the hard way.

Expensify’s first team was based in San Francisco and comprised Barrett’s old Red Swoosh and Akamai colleagues, who joined a few months after Akamai fired him. A small team was enough to get started, but it was much more difficult to hire additional people. Barrett is eager to clarify the Valley is not really the best place to recruit talent: “Sure, Silicon Valley has a ton of really awesome people, but all of them have jobs!,” he says.

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com