Product Category Memo #3: Data App Builders
In-depth analysis of products that convert Python code into web apps
Hello readers,
Welcome to the 3rd edition of Product Category Memo. The goal of this segment is to do an in-depth analysis of a specific product category in AI, ML, and Data. We’ll talk about product description, what users expect from this product, landscape of products, pricing mechanics, and growth strategy.
If you have a question, submit it here and I’ll get back to you with my thoughts. Subscribe to this newsletter to receive it in your inbox every week:
In this post, we’ll talk about:
What is a data app builder
Who uses this product and what do they want
What products are competing in this market
What factors drive pricing
How these products acquire customers
Let’s dive in.
What is a data app builder?
A data app builder converts Python code into web apps that can be shared with your teammates.
Let's say you're a data scientist exploring transaction data for an ecommerce company. You want your teammates to have access to metrics such as number of buyers, transaction amounts, refunds, and more. You don't want them to come to you every time they need something.
To get this information in an automated way, you write Python code that can parse the data and extract this information. But your teammates don't know Python and they don't know how to run your code. How will they access that information?
You'll have to create a web application that can be used by non-technical people. But that’s an entire project on its own. And you don’t know how to build a web application, so you'll have to go out and hire people who can do that. It quickly becomes a big project. This is where a data app builder comes into the picture.
This product can take your Python code and convert it into a web app. Your teammates can access this app from their browser and you can continue working in Python. Needless to say, these apps have taken off big time because of the value they provide.
Who uses this product and what do they want?
Data scientists and ML Engineers use this product a lot. In fact, anyone who works in ML and data will find this product useful. Here's what they want from a product in this category:
It shouldn't require any setup. You should be able to open it up and start using it right away.
Using it should be the same as writing a Python script. The product should do everything else.
It should be easy to load data into this product
It should be able to reuse data and computation
It should be easy to collaborate with teammates
It should offer a live coding environment
It should make it easy to set up computation pipelines
It should only recompute whatever subset of the pipeline is required to get the answer
It should leverage GPUs
It should auto-save the user's work when they lose the connection
The user should be able to save their work
It should allow the developer to control user access
Users should be able to build multi-page applications
It should be easy to deploy a trained model
What products are competing in this market?
There are open source tools as well as commercial products competing in this market.
Here’s a list of open source tools:
Streamlit: It’s a framework to convert Python scripts into web apps. You’ll have to host the apps on your own. Very popular among ML and data practitioners. If you want a hosting solution, you can use Streamlit Cloud. They have a free version. Streamlit was acquired by Snowflake for $800M.
Voila: It converts Jupyter notebooks into web apps
Appmode: It’s a Jupyter extension to convert notebooks into web apps
Mercury: It turns Python notebooks to web apps
Dash: It’s a Python framework to create web apps
Shiny: It’s an R package to build web apps
Bokeh: It’s a Python library to create visualizations
Abstra: It’s a Python framework to deploy custom internal tools
Here are the commercial offerings:
Dash Enterprise (by Plotly)
What factors drive pricing?
Here are the factors that impact how much you pay for using this product:
Number of web apps you can host
Number of repositories
Number of users
Storage resources
Compute resources
SLA support
How do these products acquire customers?
A data app builder can use the following channels to acquire customers:
Freemium model: A data app builder needs to get individual users to adopt. That's how this product makes its way into an organization. A product needs to have a free version to make this happen. Once it's in, you can use direct sales to sign bigger deals with your customers.
End-to-end solution: A product needs to be an end-to-end solution to penetrate larger companies. It can't be a point solution. Now what's a point solution? It's a tool that does one thing well. And then the customer has to stitch together many tools together to get their overall work done. It leads to a lot of integration issues between tools because they may or may not play nicely with each other.
Community: There needs to be a strong community around a product. The strength of this community will dictate how many practitioners adopt a new tool.
Integration capabilities: A product needs to play well with all the tools along the ML value chain. If your product doesn't integrate well, it won't be adopted by the developers.
Entry point: Products that catch users early in their career lifecycle tend to have staying power. Habits last a long time. If a product is part of a data practitioner's habits when they're first formed, it will stay there for a long time.