HeadlinesBriefing HeadlinesBriefing.com

Replace a $150k Looker With HTML Files?

Hacker News •
×

Like many companies, we pay for Looker: about $150k a year for the average licence, covering roughly 300 seats. We are three data platform engineers at a company of about 500 people, and most of our week goes to unglamorous work: keeping Snowflake fed, maintaining a dbt project that passed 2,000 models a while ago, and running the Airflow, Airbyte, Data Hub and Kubernetes plumbing beneath it all. In February, one of us built a side project to host HTML files. It took an afternoon. Eight months later, it already has as many weekly users as Looker does in our company, maybe even more, while Looker's usage is down by a third.

Tech influencers keep posting that software is dead, and some say they've cancelled their SaaS subscriptions and vibe-coded replacements. AI is going to kill B2B SaaS, they claim, so can we replace our enterprise BI tool? A year ago, I thought most AI output was slop, and most of it was. Our "chat with your data" demos looked great on a toy schema with four tables but never worked at our scale. The SQL ran without errors, but the numbers were wrong, which is much worse.

Then Claude Code with Opus 4.5 got really good. In early January, adoption across the company skyrocketed. It could work in our repos, use our tools, and run a query to check the numbers before answering. Within weeks, people in finance, ops and marketing who had never opened a terminal were prompting all day. Claude also started producing a lot of HTML: you would ask for an analysis and get a single file with charts, and some of those pages looked better than our Looker dashboards. The problem was that these files lived in someone's Downloads folder, and sharing meant attaching them in Slack and hoping for the best.

One day, Maddy from our team put them all on a web server behind an internal domain name. By the end of the day, she had vibe-coded a small service that stored the files in S3, with SSO in front of it. In March, we added a live query API using the viewer's Snowflake OAuth token. That was the best decision of the year: we didn't need to write a permission model, because Snowflake already had one.

Source: Hacker News · Summarized by HeadlinesBriefing