You Don't Need Tableau Anymore
There is a specific moment when you realize something is wrong with your BI setup. Maybe you are staring at a Tableau dashboard that took three weeks to build, and it still does not look right. The fonts are wrong. The spacing is off. The mobile view is broken. You have spent $9,000 this year on Creator licenses for your analytics team, and the output looks like it was made in Excel 2012.
Or maybe it is simpler than that. Maybe you just tried to add an animated transition between chart states, or embed a custom map, or build an interaction that Tableau’s drag-and-drop interface cannot express. And you hit a wall. Not because the thing you want is unreasonable, but because the tool was not built for it.
This post is about what comes next.
The real cost of “enterprise BI”
Let us talk numbers, because this is where the conversation usually starts.
Tableau Creator licenses cost $75 per user per month. That is the license for anyone who builds dashboards. If you have a team of 10 analysts, you are spending $9,000 per year just for the right to create things. Viewers need separate licenses at $15 per user per month, or you need Tableau Server, which adds hosting and maintenance costs on top.
Looker starts at roughly $5,000 per month. Enterprise pricing is opaque by design — you will not find it on their website. You will find it after a multi-week sales process.
Power BI is cheaper per seat, but once you need Premium capacity for embedding or large datasets, you are back in the thousands per month.
These are not small numbers. And they buy you tools that are, frankly, showing their age.
What is actually wrong with Tableau and Looker
Cost is the easy argument. The harder one is about capability and output quality.
They are slow. Tableau’s VizQL engine renders visualizations server-side. Every filter change, every drill-down, every interaction is a round-trip to the server. Users feel this. They click, they wait, they see a spinner. A well-built React dashboard loads from a CDN in under 100 milliseconds and handles all interactions client-side. The difference is visceral.
They are ugly. You know “Tableau blue.” You can recognize a Tableau dashboard from across the conference room. The charts all look the same because everyone is pulling from the same limited palette of visualization types and styling options. Want your dashboards to match your company’s brand? Good luck getting the hex codes, typography, and spacing exactly right in Tableau’s style editor.
They are inflexible. The moment you want something that falls outside the tool’s built-in capabilities, you are stuck. A custom chart type that does not exist in their library. A specific interaction pattern your users need. An animation that guides the eye to what matters. In Tableau, that is either impossible or requires painful workarounds. In React, it is an npm install and a few lines of code.
They create vendor lock-in. Your Tableau workbooks are stored in Tableau’s proprietary format. Your LookML models only work in Looker. If you decide to switch tools — or if the vendor decides to change pricing — you are starting over. A React dashboard is HTML, CSS, and JavaScript. It runs in any browser. You own it.
What changed
Two things happened that make this conversation possible now, when it was not five years ago.
The first is that AI can write code. Not toy code. Production-quality, well-structured, visually polished React applications. You describe what you want — “a revenue dashboard with a line chart showing monthly trends, a bar chart comparing regions, and a summary card at the top with this month’s total” — and tools like Claude Code or Cursor produce working code in minutes. The bottleneck is no longer “can my team write React.” The bottleneck is “can my team describe what the dashboard should show,” which is exactly the skill your analysts already have.
The second is that static hosting got simple. Deploying a web application used to mean provisioning servers, configuring SSL, setting up CI/CD pipelines. Now you run one command and get a live URL with HTTPS, CDN distribution, and auth built in.
Together, these two changes turn dashboard creation from a specialized skill into a description problem.
The new stack
Here is what replaces Tableau:
AI coding tool (Claude Code, Cursor, or similar) — you describe the dashboard, it writes the code.
React — the dashboard is a standard web application. You have access to every chart library, every animation library, every CSS framework in the npm ecosystem. D3, Recharts, Nivo, Victory, Chart.js — pick the one that fits.
Deloc — deploy with one command (npx @deloc/cli deploy), get a shareable URL. Auth, CDN, and HTTPS are handled for you. Viewers do not need licenses or accounts.
Cloud Run + Cloud Scheduler (or any cron service) — a small script that queries your data warehouse on a schedule and pushes fresh data to your dashboard. The dashboard itself never needs to be redeployed.
How it works, in plain English
- You open your AI coding tool and describe the dashboard you want. Be specific about layout, charts, colors, interactions. The AI builds it.
- You deploy it to Deloc. One command in the terminal:
npx @deloc/cli deploy. You get a URL likehttps://revenue-dashboard--deloc-team.deloc.app. - You set up a scheduled job that queries your data warehouse (BigQuery, Snowflake, whatever you use), formats the results as JSON, and pushes it to Deloc. This runs on whatever cadence makes sense — hourly, daily, weekly.
- You share the URL with your team. They open it in a browser. No login required, or with SSO if you want access control.
The dashboard loads instantly. The data is always current. If you want to change the design, you describe the changes to the AI and redeploy. If you want to change the data, you modify the query in the refresh script.
What you get that Tableau cannot do
Pixel-perfect design. Every pixel is under your control. Match your company’s brand exactly — fonts, colors, spacing, logo placement. Make it look like it belongs on your website, not in a BI tool.
Real mobile support. React dashboards are responsive by default. Your CEO can check numbers on their phone and it actually works, not the compromised mobile view that Tableau offers.
Any visualization you can imagine. Animated transitions. Custom map projections. Sankey diagrams. Network graphs. 3D charts if you want them. If someone has built a JavaScript library for it, you can use it.
Instant load times. Static files served from a CDN. No server-side rendering, no database queries on page load. The data is pre-computed and cached. Sub-100ms to first meaningful paint.
No viewer licenses. Send a URL. Anyone with the link (or the right email domain, if you set up access control) can view the dashboard. No accounts, no license management, no per-seat costs for consumers of information.
Portability. It is HTML, CSS, and JavaScript. If you decide to move off Deloc tomorrow, you can host it anywhere. Your investment in building the dashboard is never lost.
The cost comparison
A concrete example: a team of 5 analysts building dashboards consumed by 50 people across the organization.
Tableau: 5 Creator licenses ($75 each) + 50 Viewer licenses ($15 each) = $375 + $750 = $1,125/month. That is $13,500/year. Plus Tableau Server hosting if you are not on Tableau Cloud.
Deloc + Cloud Run: Deloc Pro Unlimited at $25/month + Cloud Run for scheduled data refreshes at roughly $2/month + BigQuery (which you are likely already paying for). Total: approximately $27/month, or $324/year. Unlimited viewers included.
That is a 97% cost reduction. And the dashboards are faster, better looking, and more flexible.
Even if you account for the time spent describing dashboards to an AI tool (which is comparable to the time spent building them in Tableau’s drag-and-drop interface), the math is overwhelming.
”But my team doesn’t know React”
They do not need to.
This is the part that trips people up. They hear “React dashboard” and think “I need to hire frontend developers.” You do not.
Your analysts know what a good dashboard looks like. They know what data to show, how to slice it, what comparisons matter, what the viewer needs to understand at a glance. That is the hard part. That is the domain expertise that no tool can replace.
The code is the easy part now. An analyst who can describe “I want a line chart showing monthly revenue by region, with a dropdown to filter by product category, and a summary row at the top showing total, YoY change, and forecast” can get working code from an AI tool in minutes. They can iterate on it by describing changes in plain language. “Make the chart taller. Change the colors to match our brand guide. Add a tooltip that shows the exact value on hover.”
The skill is not writing React. The skill is knowing what to build. Your team already has that skill.
Getting started
If you want to try this, the fastest path is:
- Open Claude Code or Cursor in any empty directory.
- Describe a dashboard. Start with something your team actually needs.
- When the AI has built it, deploy to Deloc:
npx @deloc/cli deploy. - Share the URL.
For the full technical setup including automatic data refresh from BigQuery, read the companion guide: Build an Auto-Refreshing Dashboard with React, BigQuery, and Deloc.
You can also see a working example at https://revenue-dashboard—deloc-team.deloc.app.
The dashboards your team builds this way will be faster, cheaper, better looking, and more flexible than anything a BI tool can produce. And if you decide this approach is not for you, you have lost nothing — the dashboards are standard web apps that work anywhere.
Tableau was a good answer in 2010. In 2026, with AI writing code and static hosting solving deployment, it is an expensive habit.