Customer stories

Bayesline

Why Bayesline chose Reflex over Plotly Dash for their production-grade Python web app

50%

Less code compared to Dash

4x

Faster relative to learning React

$0

Spent on hiring a frontend engineer

Bayesline App

Bayesline App built with Reflex

What Bayesline is building

Meet Bayesline, the Y-combinator-backed GPU-powered financial analytics suite for institutional investors. Bayesline deploys customized equity factor risk (ML) models in the cloud, which previously could take weeks or months for investors to run.

Sebastian Janisch, the Bayesline co-founder, led the technical team and worked previously at Bloomberg and BlackRock, where he was a Director in their Financial Modeling Group. Here is a blog that explains what Bayesline does in detail (The images and demos are all Reflex apps).

How Bayesline struggled with Plotly Dash

Quantitative Analysts (Quants), like Sebastian, are usually proficient in data-oriented programming languages like Python. Quants want to spend their time building models, proving out their ideas, and not worrying about the UI.

"The UI is the necessary evil, that is not our bread and butter."

Sebastian

Cofounder

They used to build prototypes with Dash and eventually hand them to a fully-fledged engineering team. It would take months before their app ideas could be used across an organization; with Reflex you can both build and share apps in a matter of hours (reflex deploy).

"You wouldn’t want to use Dash to build a production-grade application. It’s a prototyping tool. Usually, a UX and engineering team would re-implement everything from scratch. It will take six months for anyone to get hands on it, but we want this now."

Sebastian

Cofounder

When embarking on building Bayesline, Sebastian and his co-founder wanted an open-source framework that would enable them to build a fully-fledged web app in pure Python, the language and ecosystem they were already familiar with.

"So we basically need the tool that gets us to the finish line fastest without having to learn (a new framework) and without a super steep learning curve."

Sebastian

Cofounder

Sebastian and his team built an initial prototype with Dash, a low-code framework for rapidly building data apps in Python. As their app grew, it eventually became slow and difficult to maintain.

"The app was just getting painfully slow. Dash loads the entire application, the entire dom of every single page. As the application gets bigger, the performance will just go down."

Sebastian

Cofounder

From Prototype to Production With Reflex

Bayesline switched from Dash to Reflex because they could build both a production-grade and an aesthetically pleasing web app quickly–without JavaScript experience.

"We wanted to build a frontend that would be as indistinguishable as possible from one built by professional frontend developers."

Sebastian

Cofounder

Complicated Dash apps not only eventually hit performance limits but are also challenging to maintain since there isn’t first-class support for object-oriented programming (OOP) design patterns.

"When we started looking at the (Dash) code, it just got to this point where you’re scared of it because there is no object-oriented notion; the code just turns into an enormous mess because you just have this huge collection of functions."

Sebastian

Cofounder

In addition, Reflex improves the developer experience with 60+ UI components out of the box, while still offering the flexibility of integrating your own custom React components.

Bayesline wrapped AG Grid--a high-performance React grid--the industry standard data table for fintech. This powerful combination of out-of-the-box functionality and flexibility made Reflex an attractive choice for Bayesline.

Sebastian and the team originally started building with Reflex to create a minimum viable product that would get them through Y Combinator and their initial funding round. They quickly learned that Reflex was already ready to build production grade web apps.

"Turns out I don’t see right now, as it stands at least, reasons to migrate from Reflex to somewhere else."

Sebastian

Cofounder

Bayesline has since scaled from a prototype to a full fledged production app with paid trials. The team continues to build and deploy data-intensive apps using Reflex.

What Bayesline gained from using Reflex

Sebastian and his small team use Reflex to build a production-grade web app purely in Python, while still keeping the full flexibility of a traditional ReactJS app WITHOUT needing to:

  • Learn frontend technologies: React (JavaScript), NodeJS, TailwindCSS

"Reflex definitely saved us from needing to hire a frontend engineer and sped us up by 4x relative to learning React"

Misha and Sebastian

Cofounders

  • Write boilerplate to stitch together their frontend and backend (including database management)

"50% less code than the same Dash app and easier to read / write / maintain code compared to Dash"

Sebastian

Cofounder

  • Maintain expensive, fragile, and inevitably slow Dash apps

"Using Reflex instead of Plotly Dash was like the difference between organized Legos and a plate of spaghetti"

Misha

Cofounder

Newsletter

Get the latest updates and news about Reflex

$ pip install reflex

$ reflex init

$ reflex run

Need help? Learn how to use Reflex.

Built with Reflex