From Idea to App in 48 Hours đ Building AI-powered apps at #HackYourWeekend using Claude Code, tracking with BigQuery, and lessons from team development.
From Idea to App in 48 Hours đ I spent the third weekend of September at the Clubco CZ coworking space in Brno, taking part in the #HackYourWeekend hackathon. In a group of 60 people split into eight teams, we spent Friday through Sunday afternoon developing eight applications addressing real-world needs. We built everything in AI/LLM-supported development environments (our team used VS Code + Claude Code). The participants ranged from developers already building with AI to people like me who wanted to dive in and really try this kind of workflow for the first time.
Thereâs a big difference between spinning up an MVP in Lovable with a single prompt and spending an entire weekend working hands-on with Claude Code Max - versioning, MCPs, documentation, staging, app security, and everything in between. In our team, I took care of the backend, deployment, and app tracking (our tech stack was React + Next.js + Supabase Postgres DB + Vercel hosting + Git, plus tracking via a Cloud Run endpoint writing to BigQuery, along with a dashboard and data interpretation through a BigQuery MCP).
The event was organized by Jindrich Faborsky (probably Jindraâs smallest event ever :). Jindrich is really pushing hard into AI-assisted development - he genuinely lives it - and itâs great that he openly shares his journey while onboarding both the community and people from the outside. If youâre looking for an intro to the topic, I can highly recommend Jindrichâs AI First Course - an authentic course about the core principles, the tooling, and how to actually work this way. It was also great that the event brought in mentors from different areas of expertise who supported the teams - people like Petr BureĆĄ, Lukas Mehnert, Dima Melnik, or Petr Simecek, who helped us with Git. Jindra himself actively supported the teams too - helping some with development or strategy and nudging others (like us) toward even bolder features. đ
At #HackYourWeekend, our Keshu team (KlĂĄra FottovĂĄ, JiĆĂ Pavlas, Petra SchönfeldovĂĄ, Michal PecĂĄnek, Vito NikoliÄ + me) built an application for listing and searching dog-friendly places - kind of like a European Coffee Trip, but for dogs. (Keshu was the dog/mascot.) My role was backend development and deployment (a dream come true for me - finally getting to try the role of a backend engineer :). The other roles covered design, development, business, and marketing. We designed a nice data model (pro tip: the schema was written in Mermaid, which Git can automatically render from a .md file), and before the rest of the team jumped into the app, I pushed the first 30 commits.
Keshu team on Friday while we were fine-tuning the strategy
Team roles
Our tech stack was React + Next.js + Postgres DB (Supabase) + Vercel hosting + Git. On Sunday, once the app was deployed with the basic functionality and admin panel in place - and my teammates were working on new features and design (respect to Michal PecĂĄnek for your fully working geolocation đ) and I built a custom tracking setup using Cloud Run and BigQuery.
Deployed app
App admin panel
Design elements
Other teams built, for example, a weather-check app for hobby pilots to use during pre-flight preparation (Briefly.ai) or an app for sharing routes and rides within the cycling community (Bike Meet). The project that caught my attention the most was an app with the working title âStĆĂdavkaâ (âShared Custodyâ), designed to help separated parents organize shared custody - managing handovers, schedule changes, and day-to-day coordination. Itâs a powerful topic and an app that truly makes sense and brings real value, and I genuinely hope its development continues.
â
Interesting Bits from Development & Lessons Learned
We eventually had to switch to Claude Code Max, because the standard PRO version disconnects you after a few hours - not ideal for a hackathon - and it burns through tokens fast. I honestly canât imagine building a fully robust solution this way yet, at least not without splitting it into well-isolated components so the model can keep the context under control. One of the highlights for me was having the time to really try out a bunch of MCPs. Supabase and Vercel both have their own MCPs, which makes development so much easier, and we also plugged in others (Context7, Sentry, etc.). Honestly, I wouldnât bet too much on the future of services that donât have an MCP - and donât plan to build one.
Version control turned out to be one of our biggest challenges. We didnât really have a good branch strategy, and we lacked the experience to merge everything properly across a six-person team. What helped me a lot was having Claude connected directly to Git. I committed straight from Claude and had it check in advance whether my commit would break the build. It wasnât exactly professional - and proper tests should be done differently - but we didnât have much time to fine-tune things.
Git repo
One thing that didnât work very well for me was the project instructions in .claude.md. I wanted Claude to automatically update the prod.md file after every functionality update, but I couldnât get it to work. It only worked when using an agent - and even then, I had to trigger it manually.
â
App Tracking
We built our own tracking (GA4 wouldâve been way too easy :). We sent events through a secure cloud endpoint on Cloud Run directly into BigQuery. In a real-world scenario, I got to try building a Claude Code endpoint that processes incoming events and writes them to BigQuery - plus hooking up and testing the BigQuery MCP. GCP has something called the MCP Toolbox for Databases, which includes several MCPs for working with data, including the BigQuery MCP. Thanks to that, we were able to prompt our way to full dashboards, and we were even ready for on-the-fly data queries (for now just in the console, but the next step would be wrapping that in a UI and deploying it into the appâs admin panel).
The initial prompted dashboard
There were folks from Keboola at the event (huge thanks for their support and sponsorship đ), and apparently the Keboola MCP is already capable of handling most tasks - including full end-to-end workflows. I didnât know that, and Iâm definitely planning to try it out.
â
Claude Code + Gemini on the same project
I experimented with combining two models on the same app. I built the tracking layer separately using Gemini CLI and the Google Cloud SDK. I then used Claude Code for deployment, because I didnât want to deploy from two different CLIs or spin up the Vercel MCP inside Gemini. I was a bit worried whether having two models working on the same codebase would cause issues.
But if the second model is working on a contained component, you avoid major structural changes, and you document everything properly so the other model can always reload the context, I think itâs totally fine.
I documented all changes in tracking/tracking.md and always let Claude review what Gemini did and confirm that everything looked good from its perspective.
â
What I learned - and what Iâm taking away from the hackathon for my work and personal growth
I left the event tired, but happy - and grateful for the chance to take part. I had already tried building with AI before the hackathon (thanks, FOMO), but what I took away from Brno most was the experience of building something as a team. And also getting more comfortable controlling things in Google Cloud Platform directly through Gemini or preparing Cloud Shell commands via the model.
Honestly, Iâm not sure Iâd feel confident building an app intended to serve a large number of users without some human code review. But there were people at the hackathon who do have ambitions to push their apps further - and thanks to the hackathon, they can now build an MVP themselves and really take off. For me, this approach feels more useful for various smaller data tasks, system integrations, test agents, utilities, pipelines, and similar. Basically for things that arenât mission-critical but save us a lot of time at MeasureDesign.
It massively democratizes access to technology and removes the barriers created by not knowing a technology in depth - or not having time to build something complex in it. What matters is knowing what the tools can do, what you want from them, and what you need to keep an eye on. What worked well for us was keeping the AI within boundaries, avoiding too much âcreativity,â and breaking development into detailed steps for the model to execute. With that approach, the results were genuinely good.
JindĆich during the final presentations
App tracking presentation
Vito and final slide
Fun fact to wrap it up: I ended up sleeping in my car đ on the street in front of Clubco both nights, because at 9 p.m. on Friday I realized that my accommodation wasnât booked from September 19th, but from October 19th đ€Š. I even tried sleeping in a meeting room - you know, since it was a hackathon (like my teammate in the photo) - but I couldnât fall asleep there, so the car won. In the end, it didnât matter at all - actually the opposite. There wasnât much time to sleep anyway, let alone head somewhere to check into a hotel. :)
Who is behind the article
VaĆĄek Jelen
Lead Analyst & Co-Founder
As Lead Analyst and Co-Founder of MeasureDesign, VaĆĄek connects digital, media and customer data, helping companies unlock its full potential.
How do you get data from multiple ad platforms into a single data warehouse, typically BigQuery? Weâll walk through the core architecture and key decisions before you start exporting data from Google Ads, Meta Ads, Sklik, and other platforms.
Part 3 of our first-party data series gets technical again â we'll show you how to check that data is correctly reaching each system and doing what it should. We'll look at outgoing hits in DevTools and at checks directly in the ad platforms.
A detailed guide to sessionizing the GA4 BigQuery export â from identifying sessions and reliably ordering events to two attribution models (First Event Available and Session Start), their limitations, and validating agreement between them.
Learn how to deploy server-side tracking on Google Cloud Run. Compare Stape vs Cloud Run, configure load balancers, choose billing types, and test your setup.
Complete technical guide to collecting first-party data via dataLayer, normalizing, hashing, and sending through server-side GTM to Google Ads and Meta.
Testing ClickUp MCP: hands-on experience with AI-powered automation, security concerns with access tokens, practical limitations, and who should use it.
Learn how first-party data improves campaign performance, measurement accuracy, and cross-device tracking. Discover practical ways to collect and use it.
Workshops on advanced digital analytics: BigQuery, cookieless tracking, consent, attribution, and building data warehouses for reporting and activation.
Why analytics is an excellent career for women, including those returning from maternity leave. A personal story about transitioning into data analytics.
A look back at Reshoper - advising e-shop owners on tracking and measurement, plus a roundtable on marketing automation with insights on self-hosted N8N.
From Idea to App in 48 Hours đ Building AI-powered apps at #HackYourWeekend using Claude Code, tracking with BigQuery, and lessons from team development.
Recap of PPC Camp: my presentation on legally measuring data without user consent - cookieless tracking, sGTM, BigQuery, Facebook conversions, and Advanced Consent Mode risks.
Ready-to-use BigQuery SQL script to calculate Easter dates (2024-2100) using Computus algorithm. Perfect for filtering GA4 data and analyzing seasonal trends.
GA4 + BigQuery in practice: connecting analytics, CRM & media data, real-world use cases from IKEA, Shoptet, McDonald's & ÄeskĂĄ spoĆitelna, and what it unlocks for marketing.
VaĆĄek and AniÄka presented at MeasureCamp Prague on using Google Ads export in BigQuery, combining it with GA4 and CRM data to solve attribution issues.
Learn how to extend GA4 data retention from 2 to 14 months. Understand what retention affects, how to change settings, and what happens after data expires.
Public webinar on evaluating campaigns using GA4 dataset in Google BigQuery. Featuring VaĆĄek RĂĄĆĄ and Honza TichĂœ on DBT, SQL queries, and data flattening.
Vojta works at MeasureDesign on developing technical and data solutions that are not only functional, but also practical and easy to use. He enjoys combining web development, automation, and data work to create solutions that make sense both from the userâs perspective and in terms of the technical foundations behind them. What he finds most rewarding is turning a more complex problem into a clean and reliable solution.
JiĆĂ Otipka
Analyst
Jirka has been working in marketing for over 10 years, and if there is anything he enjoys more than numbers themselves, it is connecting them. He loves mathematics and data analytics, and thanks to his interest in exploring source code, he can easily communicate with developers in their own language. At MeasureDesign, he specializes in connecting new data sources - building custom connectors in Python, testing data quality, and exploring which data combinations make the most sense from a business perspective. He is completely at home in Looker Studio and also has extensive experience evaluating PPC campaign performance.
Lenka PittnerovĂĄ
Analyst
Lenka joined MeasureDesign at the end of 2025, bringing extensive experience from PPC marketing, where she spent many years working with Google Ads, Meta Ads, and other advertising platforms. While managing campaigns, she repeatedly ran into the same issue - poorly set up or insufficient web analytics, which made effective optimization nearly impossible.â This challenge initially led her to analytics out of necessity, but over time she discovered that she enjoyed it even more than advertising itself. Today, she focuses primarily on implementing web analytics and data solutions that provide companies with high-quality, reliable data for strategic decision-making and performance marketing. She continues to work on selected PPC projects as well - not only because she still enjoys them, but mainly to stay closely connected to the reality of media platforms and the real needs of clients.
Martina KvasniÄkovĂĄ
AI & Data Research
MarĆ„a helps integrate AI into everyday workâmaking it faster, more efficient, and accessible to every team member. What excites her most is finding practical ways to use AI and turning new technologies into useful tools.
Anna HorĂĄkovĂĄ
Analyst
AniÄka has over 7 years of experience in the agency world, where she has managed social media ad campaigns for clients, and especially for content-driven websites, her favorite. Wanting to broaden her perspective beyond campaign data, she gradually shifted her focus toward web analytics. She joined our team in 2022 and now specializes in data analytics, using GA4, BigQuery, Looker Studio, and other tools to connect and dig deeper into data â delivering insightful analyses and valuable input for business decisions. AniÄka was a member of our team until 2026.
Zuzana MikyĆĄkovĂĄ
Analyst & Co-Founder
Zuzka's career path led her through corporate innovation and research management, running word-of-mouth projects, and later to a digital agency, where she managed website development projects. However, Zuzka is naturally curious and wanted to understand how a website actually works once it is launched into the world. That curiosity led her to study web analytics â and eventually to a key collaboration with VaĆĄek. In 2019, they founded the company together.
VaĆĄek Jelen
Lead Analyst & Co-Founder
VaĆĄek has been working in digital analytics for over 15 years â from setting up tracking to data storage, visualization, and interpretation. He helps companies keep their data in order and make full use of it. He focuses primarily on data from digital platforms such as websites, apps, and client zones, and on connecting that data with other business data like media and customer data. After years of freelancing, he co-founded the analytics studio MeasureDesign, where, in addition to working on analytics projects and bespoke training sessions, he also mentors and educates new analysts.
Blanka HejdukovĂĄ
Back Office
Blanka joined our team in 2024 and has been responsible for back-office operations, including invoicing and administrative tasks, ever since. She draws on her experience from the Czech Post and her background in financial management to keep everything running smoothly. In her free time, she enjoys traveling with her two children and finds relaxation in working in her garden.
She joined MeasureDesign in 2023, specialising in measurement implementation and reporting. Her favourite moment is when, after all the setup and testing, the first data finally starts flowing in. Her biggest challenge? The unexpected (and often undocumented) changes from Google â those are the times when every analyst turns into a paranormal behaviour expert. đ» She was a member of our team until summer 2026.
KlĂĄra BelzovĂĄ
Analyst
KlĂĄra has been with the company since 2019. She focuses mainly on web analytics but is not afraid to dive into data work in BigQuery. What she enjoys most is guiding clients through the entire process â from defining their needs to implementing tracking and creating the final data visualizations.
She gets an almost suspicious amount of joy from a clean and well-organized GTM container or a report full of useful data.