Hacker News new | past | comments | ask | show | jobs | submit login
Streamlit's $35M Series B (streamlit.io)
66 points by TCR19 3 days ago | hide | past | favorite | 40 comments

Streamlit is such a nice product. When iterating on an ML product and trying to give other users a quick and an easy way to interact with a model, Streamlit should be one of the first option to think of.

Integrating with Streamlit[1] was also very simple, in our case, we only had to expose how we serve Tensorboards and Notebooks on our platform, and we created a couple of tutorials[2] to show how to host an app. Several of our users started using it after that as the default way for sharing interactive and customizable dashboards on their Kubernetes clusters.

[1] https://polyaxon.com/integrations/streamlit/

[2] https://polyaxon.com/docs/intro/quick-start/deploying-ml-app...

Streamlit is awesome.

It's nicer than sending someone static results, and it isn't much more effort.

And vastly better than sending a notebook to someone unless you expect them to modify the notebook a lot.

And learning time to make Streamlit useful for a small internal apps is probably ~15 minutes for most people.

I can't emphasise enough what you put here:

> And learning time to make Streamlit useful for a small internal apps is probably ~15 minutes for most people.

For the types of things streamlit works for, it's minutes to learn and can be just minutes to write a useful app.

Yes. We use it for our own. We started however with a concept of AppBook[0] for the very "academic type" who couldn't even write a Streamlit app. We'd automatically take a notebook and parametrize it (no metadata or the user tagging cells), then present a form with the parameters. We'd then run it and track the experiment, and log the model.

Now, however, as some of our internal users are comfortable with writing Streamlit, we're directly deploying apps from the notebook. It's useful to show results to clients without the user having to set up a VM, upload stuff, Docker, authentication, resources, etc.

It's not really the 15 minutes it takes one individual to learn. It's the SSH into something, send a link, shut down the VM or recycle it for next proto, remember the IP, etc...

- [0]: https://iko.ai/docs/appbook/

From a lot of bittersweet experiences, I tend to be very wary of “drastically simple” API products. We often say APIs are forever - so it is so critical to build the right abstraction. When I saw the demo on their page, yes it’s magically (their words) simple, but it also smells strongly of an API that can start leaking as complexity rises.

Dave Cutler of NT fame used to say leaky abstractions are often worse than no abstractions, and early on, it’s often better to go with a lower-level API (for example, what Tensorflow did) because you can add a higher level one later (eg Keras) based on usage and reasonable defaults.

Heavy reliance on strings with logical meaning? Another strong smell.

Streamlit looks very accessible - which is amazing in this space, and I hope they do well - but my prediction is people will be importing “streamlit.v2” within two years.

It's realistic. ST isn't about building huge projects. It's basically an interactive plot tool which is easier to use and more flexible than existing python solutions. 99% of streamlit code is useless in a month, and that's fine.

It's also great for internal debug tools, where I want to give people an easy "put some data here and get back relevant info from various different systems / logs".

You could argue that we've had the low-level API since JavaScript was added to the browser

Here's an informing podcast episode with one of the Streamlit authors, https://talkpython.fm/episodes/show/260/from-basic-script-to....

Cynical about frameworks but huge fan of this one. I find myself using Streamlit not just to communicate data analyses with other people, but also to explore the data myself, and even for projects I never intend to publish. Being able to produce an interactive visualization quickly and entirely from Python makes so much difference to my research productivity. I just hope the VC cash doesn't complicate things.

Been using Streamlit at work for over a year. It's great for quickly building internal apps where latency or styling is not a concern (though it is a lot prettier than notebooks).

We just released themeing in the past few weeks, so there's definitely more options than there used to be! We'd love to get any additional feedback about the types of customizations you'd like to see.

Can you expand on what you mean by "latency" is not a concern? As in, the UI is very laggy?

Streamlit doesn't expose async / callback stuff in the API, instead the script is rerun from the start every time the user clicks a checkbox, manipulates a slider etc. This makes it really easy to make apps, but depending on the computations occurring on each render it can get pretty sluggish. There is support to cache to speed things up, e.g. data downloads.

The UI is usually quite snappy, but will get held up if your code takes a long time to run. Just like any other frontend framework.

I've been using Streamlit for the past year and am consistently shocked with how quickly the team ships what the community asks for (everything from secrets, to themes, to making developing on top of Streamlit easier with components, etc). Good for them!

Out of curiosity I saw what this product was about. It appears to be like a chatroom in the sense that its live but with an API or live application refresh where the programmer can write lines of code that immediately show app results. This is pretty cool but I don't know if its a real product other than live coding interviews or the most intense pressure cooker of your manager having you do the TPS reports right now. If coupled with GPT3, however, it might be perfect, as you could just speak what you want and then it can output python that then updates this.

Streamlit is used by data science/ML people to turn models into (usually internal) MVPs.

Let's say you implemented your model in python, and want to show it off:

With streamlit, you can simply take your python script, turn the variables you want to change and the plot/dataframes you want to output into streamlit objects. That takes about 5-10 minutes, and then you can already serve your application. It's almost like it's no extra work.

That makes sense. "MVP" use cases make perfect sense. But I suppose you could also make dynamic python that another app created just like HTML is the target response for many web apps. New possibilities. I will check this out more.

I think you're missing quite what it is.

You can write very short amounts of python code and get a nice interactive webapp. It's aimed at, but not exclusively for, exploring data and results. Live reload/etc make development extremely fast.

> It appears to be like a chatroom in the sense that its live but with an API or live application refresh where the programmer can write lines of code that immediately show app results. This is pretty cool but I don't know if its a real product other than live coding interviews or the most intense pressure cooker of your manager having you do the TPS reports right now

If that's what you're taking away, we need to improve our marketing copy!

The point of Streamlit is to have a nimble way to create applications, where auto-refresh/hot-reload is part of the developer experience. But the goal of the overall project is to make interactive data apps available to the broad public, not just people who have front-end experience or a front-end developer working on their team.

Right, good points. This does remind me of how Flutter dev experience is just by yourself except this is published as a product. It's slick cool and at the edge of what's possible.

I suspected this comment was written by gpt3. Kinda surprised you're human....

Probably at GPT6 because I would have to be convinced I was real with all the simulation qualia on top of that. Pretty convincing so far.

Congrats Streamlit!

Congrats! Been on my to-do to try Streamlit. What are companies mainly using it for?

Congrats as well!

We've been loving it for making internal point-and-click tools + external project starters (ex: tutorials, solution engineering, ..).

Today, if you and your users are coding-heavy for data flows (dataset -> pydata wrangling/ml/... -> ui), jupyter notebooks are #1, and if you're in bigco, maybe say databricks notebooks as #2. However, most operational users really want an interactive point-and-click dashboard UI. Tableau and friends don't make as much sense in the pydata world, mostly for simpler SQL-only flows, and the existing python dashboarding tools (voila, panels, plotly, ...) have been too much work, esp. when sharing.

I've been liking Streamlit as it's pretty opinionated + prestyled (less work!), simple interaction model (accessible!), etc. It clearly can be better, but is already so much more accessible than our experiences with other tools here.

As some examples:

* We've been building https://github.com/graphistry/graph-app-kit for people building mini graph apps (one-click self-hosted launch via docker + st dashboard + graphistry viz + optional graph db connectors + optional graph compute tools).

* We're releasing 2-3 more integration + tutorial sets this month, where they're both notebook modes + dashboard modes.

* We just ran a hackathon for the same w/ the TigerGraph team: https://tigergraph-web-app-hack.devpost.com/

* projectdomino.org uses it internal for anti-misinfo dashboard tools. Our devs/data sci/some advanced osint researchers are fine w/ nb's, but everyone else needs dashboard UIs.

I'm excited to see what 2021 + 2022 bring here, and esp. if they can keep increasing accessibility all the way to no-code!

These are great, thanks. The Graph App Kit is pretty much the direction I was thinking

I use it internally to show interactive results and explain stats concepts to PMs/Eng, so for example I was trying to explain exactly how increased sample sizes change the confidence intervals around a binomial proportion as the proportion changes from .5 -> 1, and then relate that to how much it costs for the business, etc. So I made a Streamlit app in a few minutes, and let them interact with it.

I'm using it for internal debug tools. Lookup data from various APIs, databases, show status info for servers, that kind of thing. Often easier to create one and run it locally than write scripts and keep rerunning them with different bits of data.

Oh that's interesting. Hadn't thought about that direction, but would be super useful for us internally

We are using it for data health dashboards for all our big data projects,hence we are able to observe discrepancies, missing data, etc.

Can somebody explain the advantage of Streamlit over sharing a Jupiter notebook with interactive widgets? Are data scientists sharing models and data a relevant use case?

The main advantage is that not everyone knows Python, and those who do don't necessarily use Jupyter. Once you deploy a Streamlit app, it's the same in-browser interactive experience people are already used to.

is it strange to anyone else how similar the logos for https://streamlit.io/ and https://getstream.io/ are?

There's actually a funny story here, and one day we'll tell it in more detail.

TDLR: it's a coincidence / slightly obvious given our names. We discovered the similarity on the day we launched our logo, and it almost made us change our logo and/or company name XD

We have since met the getstream.io folks and had a good laugh about it together.

Looks interesting but has anyone managed to find pricing anywhere?

Streamlit for Teams is in private beta, so prices are still negotiated case by case. When it is open to everyone in a few months, the prices will be on the website. And the goal is to make it so that it's affordable for even very small companies.

I don't get this product how is it any different than replit.com or they are competitors? Anyway good idea.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact