I recently spent a lot of time talking to a lot of people about Hex, a collaborative data workspace that makes it easy to go from idea to analysis and sharing. Earlier this week, I spent some time building my own dynamic application using Hex for my own personal use case. With about another hour of work, I went from something that was useful for me to something that was useful for others too.
Hex is onto something, and here are three reasons why I’m very excited by the product.
Let me tell you a story: Someone created a dashboard and the data team had to maintain it forever. I should have told you it was a horror story. I wish I was joking.
Hex is the first application bringing the idea of versioning, collaboration, and publishing to analyses. For years, I’ve been saying that we have to treat analyses like code; you need to branch, peer review, merge, and then publish. I always thought of it in a code-first paradigm because that was the paradigm that made sense to me. Hex’s approach is different, but it’s one that works. The reality is that code is not the best way to see an analysis: the code is just one part of the analysis.
Hex’s commenting feature allows for peer review on more than just code- on conclusions, reasoning, and, yes, on code too. Versioning allows you to work on changes in the background and publish when you’re ready, instead of there being one rogue tile on a dashboard called “DRAFT”. (Not that I’m speaking from experience or anything.)
Back in 2013, when I first dabbled in statistics, we used R. When I first wrote code on the job, I also got to use R. In retrospect, one thing that makes R more approachable than Python or anything else is the RStudio IDE. RStudio is a better IDE than any notebook. Unfortunately, Rodeo, yHat’s version for Python, has since gone defunct. The best thing us Python folks have is a notebook, but I don’t like notebooks. Joel Grus said it first, but notebooks have all sorts of weird and hidden states to manage, plus environment management is hard.
Hex is much more than a notebook, but it also addresses the problems of notebooks. It’s beautiful. Hex’s reactivity functionality means that you don’t need to “rerun all” to make sure it gets the number you got repeatedly. With Dataframe SQL, you can now chain together analyses that toggle between python and SQL.
Clearer environment managements, clearer states, and lots of fun bonuses. What’s not to love?
I have worked for and with a number of companies. I have seen exceptional teams and I have seen mediocre teams. And, Hex, folks, is an exceptional team.
You see this from the outside- just take a look at their Changelog. Lots of Series A companies ship, but not lots of companies ship exceptionally well. Exceptional teams create exceptional, delightful experiences. It’s about time we stopped having our great minds create wine algorithms and start solving problems that matter, and it’s great to see Hex tackling an incredible problem space.
One phrase I’ve been thinking about a lot is the “no one ever got fired for buying IBM.” I was talking to someone about the Modern Data Stack and she was nervous about what I was walking her through. It’s easier, it’s safer, it’s comfortable to pick the devil you know- the tech you used at your last job or the “IBM” of your options.
It’s harder to take a chance on bringing in a new technology that people have never heard of.
When I talk about Data as a Product and Breaking your data team out of the service trap, my focus is on creating impactful data teams that move the dial for businesses. Technology and tooling are only a part of how we do that. In the same way, Data as a Product challenges traditional IT-based models of data teams, technology like Hex challenges norms of how the organization widely interacts with data applications.
I’m excited to see what they do.
Bonuses: Here are some Hex apps I built that you might find interesting: