A reporting app instead of Looker Studio
What I built with Claude Code in three days – and which part of it was actually my work
12 October 2026
For STVR, the Slovak national broadcaster, I own the whole measurement stack of their news websites: server-side GTM on Google Cloud, data in BigQuery, data models on top and reports for the newsroom. For a long time those reports lived in Looker Studio. They worked, but every new request made them heavier.
In September we decided to replace them with a custom web app. From the first design to production it took three days. I didn't write the code myself – Claude Code did. This article is about what that looked like in practice, where my work was, and what to watch out for.
Why move away from Looker Studio
Looker Studio is a great start: free, quickly connected to BigQuery and everyone can open it. The problems come when a report grows:
- Logic across the whole report. The newsroom wanted, for example, to exclude bot traffic from all numbers at once. In Looker Studio that means editing every chart; in the app it's one filter in the data layer.
- Changes by clicking. Changing a metric definition in Looker Studio is manual work in many places, with no record of what changed. The app's code lives in git – every change has a history.
- Access. The app has its own login and roles. Who sees which data is enforced by the database itself, not by sharing settings on individual reports.
What the app does
- Login, roles (client admin, viewer) and user administration.
- Access control in the database (row-level security): a user of one client can't reach another client's data, even when querying the database directly.
- Reports for the news site, short news and bot traffic – with filters, sorting and pagination.
- Metric definitions right next to the tables, so the newsroom knows what each number means.
- Built for multiple clients – each with its own separated data.
How it came together
16 September
Data model, control tables and access rules. Tests proving that a client can't see another client's data.
17 September
App skeleton and login, verified with test users: admin, viewer, user without access.
18 September
Three reports on real data, deployed to production.
by 8 October
47 commits: table sorting, metric definitions, a 1:1 version of the Looker report, a bot filter across the whole report.
Three days doesn't mean done. It means the newsroom had working reports at the point where a classic dev project would still be writing the spec. The following weeks went into what matters most: numbers that add up and a report that answers the questions the newsroom actually asks.
Who did what
Me
- • The brief: which questions the report must answer
- • Data model and table design
- • Security and access decisions
- • Checking numbers against the original reports
- • Testing with real users and newsroom feedback
Claude Code
- • Application code (frontend and backend)
- • SQL migrations and database security rules
- • Test scripts
- • Deployment to Cloudflare
- • Changes based on my review
Without Claude Code I couldn't have built this app – I don't write Next.js or TypeScript. But without an analyst, Claude Code would have built an app that shows the wrong numbers beautifully. The value is in having both halves in one person.
What to watch out for
- Don't leave security to the AI. The secret admin key must never reach the browser and access rules need tests. Claude Code wrote them, but I decided what to test.
- Compare numbers with the old report. The new report version was built 1:1 against Looker Studio, so the newsroom saw the same numbers and any differences could be explained.
- Name your known limitations. The first version enforces access per client, not per report. That's fine as long as you know it and have it on the roadmap.
- Plan for operations. Free tiers have catches – a free-tier database goes to sleep after a week of inactivity. Production needs a paid plan.
When it makes sense
A custom app pays off when many people use the report every day and you need logic across the whole report, access control or several clients in one solution. For a one-off analysis or a report for two people, stay with Looker Studio – it's faster and free.
For me it's mostly a shift in the role. A web analyst used to stop at implementation and a dashboard. Today I can deliver the whole chain – from tracking, through a data warehouse, to an app people actually open.
Need something similar?
If your reports are outgrowing their tools, get in touch.
Get in touch