Bolt.new Case Study: Marketing Agency Built 5 Client Dashboards in One Day
The Problem: Generic Dashboards, Expensive SaaS, Unhappy Clients
Bright Signal, a boutique digital marketing agency with 12 clients, was spending $2,000/month on a white-label analytics platform. The tool was generic — every client saw the same layout, the same metrics, and the same branding. Customization was limited to swapping logos and colors. Clients repeatedly asked for specific views: “Can I see just my Google Ads performance without the SEO data?” or “Can we add our Shopify revenue alongside the ad spend?”
The agency evaluated building custom dashboards with a developer. Quotes ranged from $5,000-15,000 per dashboard with 2-4 week timelines. For 12 clients, the math did not work.
The founder decided to test Bolt.new for rapid dashboard generation. The goal: build 5 client dashboards in one day as a proof of concept. If it worked, migrate all 12 clients within the month.
Day 1: Five Dashboards, One Developer, Eight Hours
Dashboard 1: E-Commerce Client (90 minutes)
Prompt to Bolt:
Build a marketing analytics dashboard for an e-commerce brand. Data sources (mock data for now, will connect to APIs later): - Google Ads: spend, clicks, conversions, ROAS, CPA - Meta Ads: spend, reach, clicks, purchases, ROAS - Shopify: revenue, orders, average order value, conversion rate - Google Analytics: sessions, bounce rate, pages per session Layout: - Top row: 4 KPI cards (total spend, total revenue, blended ROAS, total orders) - Second row: line chart showing daily revenue vs ad spend (last 30 days) - Third row: two cards side by side — Google Ads performance table and Meta Ads performance table - Fourth row: Shopify orders chart (bar chart, daily) - Sidebar with date range selector and campaign filter Design: clean, modern, use brand colors #1E40AF (primary) and #F59E0B (accent). Dark sidebar, light main content. Use Recharts for charts. Include a "Download PDF" button placeholder in the header. Framework: Next.js with Tailwind CSS.
Result: Bolt generated a complete dashboard with mock data, responsive layout, and functional charts. The founder made three refinement prompts:
- “Make the KPI cards show percentage change vs. previous period with green/red arrows”
- “Add a channel comparison donut chart showing spend distribution across Google, Meta, and other”
- “Fix the date range selector — it should default to ‘Last 30 Days’ and include options for 7, 14, 30, 60, 90 days”
Total time: 90 minutes from first prompt to client-ready dashboard.
Dashboard 2: Local Service Business (60 minutes)
This client only cared about Google Ads and phone calls. Much simpler.
Build a lead generation dashboard for a local plumbing company. Metrics: - Google Ads: spend, clicks, calls, cost per call - Call tracking: total calls, answered, missed, average duration - Google Business Profile: views, clicks, direction requests Layout: - Top row: 3 KPI cards (total leads, cost per lead, total spend) - Chart: daily calls vs ad spend line chart - Table: campaign performance breakdown - Call log: recent calls with duration, source, and status Design: use brand colors #047857 (green) and white. Simple, clean, no unnecessary complexity. This client is not tech-savvy — make everything obvious.
Result: 60 minutes including two refinements. The simpler scope made this faster.
Dashboards 3-5: Templated Approach (3 hours total)
By the third dashboard, the founder identified the pattern. Each new dashboard was a variation of the first:
Use the same dashboard template as the e-commerce client but: - Replace Shopify metrics with [client-specific metrics] - Change brand colors to [client colors] - Adjust the KPI cards to show [client priority metrics] - Remove [unused sections] and add [client-specific sections]
Three more dashboards — a SaaS company, a real estate agency, and a restaurant chain — were built in one hour each.
Results
Cost Comparison
| Approach | Cost (5 Dashboards) | Timeline | Ongoing Cost |
|---|---|---|---|
| White-label SaaS | $0 setup | 1 day | $2,000/month |
| Custom development | $25,000-75,000 | 10-20 weeks | $500/month hosting |
| Bolt.new | $20 (subscription) | 1 day | $50/month hosting |
Client Feedback
The agency shared the dashboards with three pilot clients:
- E-commerce client: “This is exactly what I asked for. I can finally see Google and Meta side by side with Shopify revenue. When can we connect live data?”
- Plumbing client: “Much simpler than the old dashboard. I can actually understand what I am looking at.”
- SaaS client: “The MRR chart alongside ad spend is perfect. Can you add a cohort retention view?”
Month 1 Outcome
Within the first month:
- All 12 client dashboards migrated from the SaaS platform
- Monthly tool cost dropped from $2,000 to $50 (hosting)
- 3 clients upgraded their packages citing “better reporting” as the reason
- The agency added “Custom Analytics Portal” as a $500/month add-on service
Net result: $1,950/month savings + $1,500/month new revenue = $3,450/month improvement.
Lessons for Other Agencies
1. Start with the Most Demanding Client
Build the most complex dashboard first. It becomes the template for simpler ones.
2. Use Mock Data First
Do not worry about API connections during prototyping. Generate with realistic mock data, get client approval on the layout, then connect real data.
3. Template and Customize
After building 2-3 dashboards, you have a pattern. Each new dashboard is a customization, not a build from scratch.
4. Know When to Export
For clients who need real-time API connections, export the Bolt code to a proper hosting environment and add the API integration layer. Bolt is for the UI — data engineering is a separate step.
5. Price It as a Service
Custom dashboards built with Bolt cost almost nothing to produce but have high perceived value. Charging $500-1,500/month per client for a “Custom Analytics Portal” is a legitimate revenue stream.
Frequently Asked Questions
Did the dashboards use real client data?
The initial prototypes used mock data. After client approval, the agency exported the code and connected Google Ads API, Meta Marketing API, and Shopify API using Next.js API routes. This took an additional 2-3 hours per dashboard.
How do the dashboards update?
After connecting APIs, the dashboards fetch data on page load with client-side caching. For heavier data, the agency set up a simple cron job that fetches and caches data hourly.
Can Bolt handle authentication for multiple clients?
The agency added simple email/password authentication using NextAuth.js after exporting. Each client has their own login credentials and can only see their own dashboard.
What happens when a client needs a new metric?
The agency reopens the Bolt project, adds the new section using a prompt, and re-exports. For simple additions, this takes 15-30 minutes.