Hacker News new | past | comments | ask | show | jobs | submit login
Blazer: Business intelligence made simple (github.com/ankane)
215 points by tosh on Feb 27, 2024 | hide | past | favorite | 37 comments



blazer rules, been using it since day one of our startup. it's great for situations where someone on the team needs a graph or CSV download of what's in the database. saves so much time and effort compared to writing code to do the same work. we have written over 100 different queries and dashboards in blazer and use it daily.

ankane is a true wizard; dude has written so many other fabulous tools like searchkick & chartkick.


That guy maintains a shocking number of projects. Pghero, Ahoy, a ton of useful Ruby data / ml libraries.


Pg vector too! Andrew Kane is a beast.


kudos for ankane! I make use of his gems on every single project I run. Ahoy is great too!


I love blazer. At our scaleup “making a blazer” has become a phrase among the non technical colleagues.

I’ve created a feature where you can share CSVs from a clip and import the data into Google sheets. There is a PR for this on the repo.

I’ve also created cron job monitoring with it. You can read up about that here: https://abuisman.com/posts/developer-tools/cron-monitoring-w...

Andrew Kane’s gems are a gold mine. Ahoy is another great one and he also created pgvector. Humbling amount of work.


Blazer is amazing software. Simple, robust, useful, and non-technical people can easily get the data they need, by themselves. Blazer Checks are a whole added dimension!

The only downside is that, by virtue of its simplicity, it's not well-suited to fine-grained access controls or other similar compliance concerns. In fact, those concerns have fomented maybe three serious attempts at my job to remove Blazer and replace it with $BI_TOOL_DU_JOUR. Each time, these massively-funded vendor tools just abjectly failed to do what Blazer does, and each have been phased out. Blazer is undefeated :)

When I start a company, Blazer will be one of the first bits of infrastructure I stand up.


funny you mention blazer being a target for removal by big co. happened at instacart too! As the company scales, teams bring in the stuff they know. Like tableau. Tableau seems so terrible, ungodly slow, and stuck in 1990. i must be missing something as a non-data scientist.

anyway, same as you said, blazer was in constant threat of being "phased out". It's a hollow wish by the powers that be. blazer is too useful.


It's open-source Heroku Dataclips (one of my favorite products ever)!

I haven't used Blazer, but I have followed and love the idea behind this project.

If folks have used it here, I'd love to hear from them.


I've used it before, it's great to start, but here's what happened to me:

1. Connected it to my production postgres (which was fine when I didn't have many users)

2. Spun up a replica postgres on GCP to connect it to instead

3. I wanted Stripe and CRM data in the reports, but I can't sync those to the replica and I didn't want to load them to prod

4. Signed up for Snowflake ($$$) and set up Fivetran ($$$) to sync all the data there

5. Queries were timing out against Snowflake in Blazer (never figured out the problem here, maybe the ruby gem for Snowflake was buggy?)

6. Set up Metabase instead, which worked fine, but non-technical people could never really use it.

(note: I'm a founder, shameless plug below)

This felt like a lot of work. I just wanted a place to dump all my data and easily create reports. Bonus points if non-technical people could do the same. That's what we're going for with Definite (https://www.definite.app/)

1. Built-in data warehouse - We spin up a duckdb database for you

2. 500+ connectors (e.g. Postgres, Stripe, HubSpot, Zendesk, etc.) - You don't need to buy a separate ETL, it's also built-in

3. Semantic layer - Define dimensions, measures, and joins using SQL in one place. We have pre-built models for all the sources we support (e.g. the Stripe model already has measures for MRR, churn, etc.)

4. Simple BI - Build a table with the data you want and generate visuals off that table. Works like a pivot table, if you can use a spreadsheet, you can use Definite.

I'm mike@definite.app if anyone wants help getting set up.


This is one of the better landing pages for a product I’ve seen, it’s so succinct. Nicely done. I’m going to actually evaluate your product today as a result


I know the market you are targeting with your product plug and the problems you point out are real challenges that businesses have.

But the lack of all of these features is what I absolutely love about Heroku Dataclips and products inspired by it. It does "run SQL on my DB and give me a shareable chart" more easily and effectively than any BI tool I've ever used.

It's such an incredible mini-product that made Heroku Postgres a joy to use (when I used to use Heroku), and what makes me excited about something like Blazer.


How are those 500+ data source connectors are implemented? Do you use 3rd party APIs? Im always curious about that.


Great question. We're using Meltano (https://hub.meltano.com/extractors), so no third party (we host the meltano jobs on our infra for you).


Wow wasn't aware of such connectors exist. Thought you must pay for something like that. CDATA (https://www.cdata.com/connect/connectors/) charges a fortune for connectors.


Can it handle loading data from let's say 100 pg databases (of the same schema but different tenants) and query them as if all the data was in a single database?

I think that's my main issue with tools like this.


> Set up Metabase instead but...

I've been trying to retire metabase but our non technical people love it too much. everyone from marketing to finance has dashboards and alerts and reports.


Out of curiosity, what's the motivation behind retiring metabase? (especially if people love it as you say)


Did they create the dashboards though? The problem I had is every time they wanted some small change, they needed to bother someone that knew SQL and they couldn't create one from scratch.

What were you looking to replace it with?


Nice, clear, concise demo.


Was very bummed out when Heroku started charging for Hobby Tier as I had to sunset a few of my hobby apps

- Heroku was my first experience deploying a website: `git push heroku master`

- Dataclips was my first experience writing SQL

Writing code was markedly better than building dashboards in Tableau, which inspired Evidence (https://evidence.dev) - an open-source SSG for creating data websites using SQL and markdown, which I'm now working on

Previous HN discussions:

https://news.ycombinator.com/item?id=35645464 (97 comments)

https://news.ycombinator.com/item?id=28304781 (91 comments)


We've used it for about a year - Blazer is okay if you need a quick SQL query console, but we found it lacking as a business intelligence tool. The support for graphs and dashboards is limited, for graphs it requires you to structure the query in an exact way as you can see in the Blazer readme. There is no customizability at all.

After some research on available alternatives that don't break the bank, we decided to deploy a self-hosted instance of Metabase[0]. This took only a few minutes to set up using their Docker image[1] and it has much better graphing capabilities and you can easily put a custom layout together for dashboards. Upgrading is similarly easy (just redeploy). Also easy to configure: additional data sources, hiding or changing the data type of a column, G Suite sign-in for our domain. It has 'models' as sources of truth to build other queries in - eg a single definition of an 'active user'.

In short, moving from Blazer to Metabase was a huge win for us. Highly recommend it if you need anything more than Blazer's table output.

[0]: https://github.com/metabase/metabase [1]: https://docs.render.com/deploy-metabase


I use Blazer every day, just as a convenient way to run SQL against a read-only instance of our production database.

We also use Tableu for more sophisticated reports for non-technical users, but since blazer is just a Ruby gem, there’s almost no reason not to have it set up in a rails app.


Love the callout to Dataclips. It was easily my favorite least used feature by Heroku customers. Blazer and PgHero both got a bunch of inspiration from some of the early things we built at Heroku and its amazing having Andrew crank out so many high quality projects to make some of the tooling more broadly available.


I have built several things like this over the years, and used other similar products like redash and metabase. This looks really nice, and has a lot of potential. Lots of nice features like "this is part of a dashboard, be careful when editing". Def bookmarked.


How does this compare to Metabase?


This looks super cool. One thing that stands out as missing (or I am missing it) -- does anyone know if there's a way to drill into the data and see the raw tabular data behind a given chart? That's one feature Metabase has that I find essential -- if a number in a chart looks off (or you're just curious) you can drill into the row-level tabular data and figure out what's going on.


This might be a dirty solution but you can just open a rails console in the app to see the raw tabular data.


Since it consumes user defined SQL directly, how secure is it from SQL injections?


I did some digging for you, I am not the best at Rails but from my understanding, it seems to throw the queries into ActiveRecords QueryAttribute using bind parameters [1]. So I'd say enough safe from sqli [2].

[1] https://github.com/ankane/blazer/blob/bd06aab33052783e84672b...

[2] https://blog.saeloun.com/2019/10/28/bind-parameters-in-activ...


I love Blazer. I keep intending to make a fork with text-to-sql support, but haven't gotten to it yet.


Why no REST API data source?


Like to query data from SaaS apps? e.g. Hubspot?

The rate limits on most API's like that normally prevent analytical queries. e.g. if you wanted to query all your open deals in Hubspot, it could take several minutes to run the API requests to get the data.

This is normally solved with ETL into a database instead.


Sure, or any internal service/microservice.

The ETL approach makes sense but in the case of a service/microservice but I'm assuming you've got to have a well defined dataflow.

Edit: also at that point, any change (schema change, etc.) to the underlying data store represents a change to your dashboard, rather than a change to an API.


Reminds me of a specific type of flavor of WorkOS. I like it!


An AI front-end to this would be phenomental.


Blazer is amazing, and we use it every day all day at my startup. Huge thanks to akane.

However, I’ve contributed a couple of PRs and heard crickets. Doesn’t seem as if the repo is maintained actively these days, so we run a modified fork internally.


Ankane is such a gem




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: