BurnRate is fueling revenue success with Blazor
Customer
BurnRate
Products & services
Blazor
ASP.NET
Azure SQL
Industry
Software & Consultancy
Organization Size
Small (1-100 employees)
Country/region
United States
Meet Robert McLaws, a .NET veteran and seasoned entrepreneur who has a passion for helping people succeed. Throughout his career, McLaws witnessed how venture capitalists (VCs) and their hundreds of billions in investments failed to significantly improve startup success rates. Even after 50 years of VC investments, at least 70 percent of companies still fail at every stage of growth.
That statistic alarmed McLaws. So, he set out to help founders and revenue leaders systematize their hiring process and chart their own course for growth without hassling with spreadsheet formulas. He saw an opportunity for technology to make some valuable and specific calculations that would make planning for scalable growth easier and more precise.
Building a human algorithm
Years ago, McLaws had built an application framework using ASP.NET to build a financial analysis product in the commercial real estate space. Building capacity models for apartment complexes put him on the path to digging into SaaS sales capacity models, and how the human capacity for work affects a company's ability to generate revenue.
That's when he came up with the idea of BurnRate, a revenue, demand, and headcount planning system for go-to-market teams. McLaws felt that relying on intuition and guesswork to determine the staffing levels for key revenue teams like marketing, sales, and customer success wasn't a sustainable road to growth.
Instead, he believed there was a science to it: an algorithm that could help companies grow smarter using what he coined the "People Algorithm." As he put it, "these [customer success, marketing, and sales] teams are responsible for bringing money in the door in the first place, so it was essential to get the calculations right, and make them easy enough for revenue teams to use intuitively."
Choosing the right tech stack
McLaws' experience in financial math taught him that programming languages that use floating-point math, like JavaScript, weren't sufficient for building financial systems. The foundation for this algorithm would need to be in C# to deliver trustworthy results that could be consistently validated.
When he left his previous company to start BurnRate, he had to leave his application framework behind and reinvent it from scratch. The first release of .NET Core had just gone live, so it was the perfect time to rebuild it for a modern era.
The back end was simple enough, with Azure SQL and Microsoft Restier more than capable of handling the project's queryable API needs. On .NET Core, his burgeoning "People Algorithm" was lightning fast and able to handle deeply complex calculations from highly structured data in fractions of a second.
However, organizing company financial data in a way that lets companies create multiple scenarios and switch between them required an architectural depth he hadn't anticipated.
"Layering in scenarios, parent scenarios, time scales, and planned results versus actual [results] together in one model was enough to make my head spin. It took months of intense work and repeated tries to make it work," he said. McLaws said the number of unit tests BurnRate uses on its algorithm to ensure correct functionality "is probably orders of magnitude higher than most other companies build with their application. We're asking companies to make decisions about the future of their entire business with this platform. We can't afford to get it wrong."
BurnRate built its entire open-source testing framework called Breakdance to boost unit test productivity and write more consistent tests in less time.
The front end presented different challenges. McLaws began prototyping BurnRate UI using a combination of Webpack, TypeScript, and Knockout, but faced numerous obstacles. At the time, Webpack didn't have TypeScript definitions to help make configuring builds easier.
"With JavaScript—a language where anything can be anything, and everything can be swapped out at runtime—failure is a default setting. Success has to be earned, usually through extensive mental anguish," McLaws said.
When he finally got everything working and had their first fully functional prototype, the team struggled with scaling issues, especially when generating hiring plans for companies with hundreds of employees.
"When we were trying to figure out how to make it scale and handle the UI updates and the recalculations and the server side, we [were] going backwards," he said. "It was getting more and more jerky in the browser as you were trying to render things."
How Blazor lit the path to scalability
Blazor entered the marketplace around this time, and it was a new front-end technology.
"The promise of end-to-end C# in the browser with minimal JavaScript was just too good to ignore," McLaws said.
Using C# between the client and server side not only made application development "so much easier," according to McLaws, but it also played a critical role in making BurnRate's UI as reliable as its calculations.
We can write unit tests in the same language we're writing the back-end code. That's huge! Why wouldn't you want to build that way? It eliminated thousands of lines of code and was so intuitive for anybody that had spent even five seconds in the WPF world."
With Blazor, BurnRate was able to move "very, very quickly." Instead of three years, the team had built a working Blazor prototype in a matter of weeks, and completely ported several hundred thousand lines of code in less than a year.
A good portion of that time was spent building new open-source tools so other companies could also build Blazor apps quicker, an approach that fits with McLaws' helpful ethos.
"People tend to forget that when you're building a platform like BurnRate, you don't just need the customer-facing app; you also need the app behind the app for database changes and system administration," he said.
"So, we built BlazorEssentials, a library that enables the Model-View-ViewModel (MVVM) architectural style from XAML in Blazor. It allows us to cleanly separate data acquisition from data display in our apps. That brings a level of simplicity and consistency to our application architecture. Now 100 percent of our codebase is testable in a single language with predictable patterns."
Leveraging Azure DevOps for highly automated Continuous Integration & Continuous Delivery (CI/CD), allows the BurnRate team to move even faster.
"Whether it's a new app or new utility for an existing app, we can ship to production in a matter of hours," McLaws said.
As BurnRate scaled, it needed to ensure the stability of its product to get more embedded in its customers' core day-to-day operations. McLaws trusted Microsoft.
Delivering solutions without compromise
"I picked Microsoft a long time ago, and Microsoft has never let me down," he said.
McLaws is a 23-year .NET veteran and a five-time Microsoft MVP, with his open-source contributions totaling over 1.4 billion downloads. To this day, he continues to develop with Microsoft, knowing there are resources and a community to build great things together. With Blazor, the BurnRate team was able to build the app and deliver on McLaws' vision-without compromises.
There was never, in his mind, "any platform other than .NET that would be able to support that [level] of stable scalability," he said. According to him, Blazor powered his lean team to build smarter and faster.
I've waited my entire career for this level of productivity. With .NET Core and Blazor, it's never been easier to turn my dreams into reality."
Ready to get started?
Our step-by-step tutorial will help you get Blazor running on your computer.