Case study · Cross-platform analysis

$89.51 → ~$63 / mo across 3 clouds

One real audit, three clouds (Railway + Render + Vercel), 115 services. Cost Doctor’s cross-platform simulator identified ~30% savings by moving bandwidth-heavy workloads to platforms where they cost nothing extra, and stopping services that nobody was using.

Case study: cross-platform analysis saved a 3-cloud portfolio ~30% per month

One real audit. Three clouds. The same workloads priced three different ways — and one clear winner per service.

All dollar figures use Cost Doctor's simulation model. They are estimates for planning, not invoices. Confirm with each platform's billing page before acting.


TL;DR

Before (as deployed) After (optimised placement) Delta
Railway bill $62.51 / mo $43.50 / mo −$19.01
Render bill $7.00 / mo $7.00 / mo $0.00
Vercel bill $20.00 / mo (Pro seat) $20.00 / mo $0.00
Combined monthly $89.51 / mo $70.50 / mo −$19.01 / mo
Annualised $1,074 / yr $846 / yr −$228 / yr

The lever: Cost Doctor's cross-platform simulator identified that several Railway services would cost significantly less (or nothing extra) on Vercel Pro, because Vercel's generous included allowances (1 TB bandwidth, 1,000 GB-hours) absorb workloads that Railway charges per-GB.


The setup: one team, three clouds, no visibility across them

Platform What's deployed Monthly bill Pricing model
Railway 71 services across 15 projects (APIs, frontends, workers, databases) ~$62.51 Usage-based: $10/GB RAM, $20/vCPU, $0.05/GB egress
Render 5 services (1 paid chatbot backend, 4 free-tier) ~$7.00 Plan-tiered: pick a plan per service
Vercel 6 projects + Postgres store (all within Pro allowance) ~$20.00 Allowance-based: $20/seat includes 1 TB bandwidth, 1,000 GB-hours

The problem is obvious in hindsight: each platform charges differently for the same compute primitives, but without a cross-platform view there's no reason to question the placement.


What the cross-platform analysis found

Opportunity #1: Move bandwidth-heavy frontend to Vercel Pro

Railway (current) Vercel Pro (simulated)
Service 4schools (public Next.js app) Same workload
Monthly egress ~315 GB ~315 GB
Egress cost $15.78 ($0.05/GB) $0.00 (fits in 1 TB included)
Compute cost $0.59 (RAM + CPU) $0.00 (serverless, within GB-hours)
Total $16.37 / mo $0.00 extra
Saving $16.37 / mo

Why it works: Vercel Pro includes 1 TB of bandwidth per month. This app uses 315 GB — well within the allowance the team is already paying for ($20/seat). The move is effectively free.

Portability: Easy. It's a Next.js app — Vercel's native framework. No persistent disk, no cron, no vendor-specific APIs.

Opportunity #2: Stop paying for idle/abandoned services

Service Current cost Status Action
berta-pai-backend $5.31 / mo No deploy in 66 days, 0.2% CPU Pause on Railway
github-manager $1.59 / mo No deploy in 95 days, 0% CPU Pause on Railway
Staging environment (NVE) $0.72 / mo Staging, 0% CPU Auto-sleep or stop

These don't need a platform move — they need to stop running. Combined saving: $7.62 / mo.

Opportunity #3: Right-size remaining Railway services

After removing the idle services and the bandwidth-heavy frontend, the remaining Railway portfolio drops from $62.51 to ~$38.52/mo, and most of it is legitimate production compute (databases, APIs with steady traffic).


Combined savings waterfall

Step Action Monthly saving New total
0 Starting point (all three clouds) $89.51
1 Move 4schools to Vercel (fits in existing Pro allowance) −$16.37 $73.14
2 Pause 2 abandoned Railway services −$6.90 $66.24
3 Stop staging environment running 24/7 −$0.72 $65.52
4 R2 offload for any remaining egress-heavy services −$2–5 (est.) ~$61–63
Total estimated savings ~$26–28 / mo ~$61–63 / mo

Payback on the Pro subscription (£15/mo ≈ $19/mo): the savings exceed the subscription cost in month one.


At 10× scale — a typical mid-size SaaS team

The percentages and rules above hold. The absolute numbers scale linearly.

Real audit (this case) Mid-size team (×10)
Combined 3-cloud bill $89.51 / mo $895 / mo
Cross-platform savings identified ~$19–28 / mo ~$190–280 / mo
Annualised saving ~$228–336 / yr ~$2,280–3,360 / yr
Idle/abandoned waste reclaimed $7.62 / mo ~$76 / mo
Bandwidth arbitrage (Vercel allowance) $16.37 / mo ~$164 / mo

At this scale:

  • A Done-for-you Cross-Platform Audit (£199) pays for itself in under 2 weeks
  • A Guided Migration (£349–£749/service) pays for itself in 1–2 months
  • The Pro subscription (£15/mo) pays for itself every single month

At 50× scale — a funded startup with serious cloud spend

50× scale
Combined 3-cloud bill ~$4,475 / mo
Cross-platform savings identified ~$950–1,400 / mo
Annualised saving ~$11,400–16,800 / yr

At this scale, even the Full Portfolio Optimisation service (£2,499) pays for itself in under 3 months.


Why this analysis is a premium feature

Cross-platform simulation requires:

  1. Live API access to every cloud — tokens for Railway, Render, and Vercel, each with different auth models
  2. Unified cost model — normalising usage-based, plan-tiered, and allowance-based pricing into comparable $/month figures
  3. Team-capacity-aware allocation — e.g. knowing your Vercel Pro team has 685 GB of unused bandwidth allowance before recommending a move
  4. Portability assessment — not every service can move (databases, workers with vendor-specific APIs, persistent disks)
  5. Migration guidance — per-service risk assessment, step-by-step checklist, rollback plan

This is substantially more work than a single-platform audit. It belongs in the paid tiers.


How this maps to Cost Doctor tiers

Capability Community CLI Pro (£15/mo) Team (£79/mo) Governance (£500+/mo)
Single-platform audit Yes Yes Yes Yes
Cross-platform simulation Yes (--cross-platform) Yes Yes
Scheduled cross-platform audits Yes Yes
Cross-platform trend tracking Yes Yes
Board-grade migration reports Yes

Berta.One done-for-you services

For teams who want results without running the tool themselves.

Analysis services

Service Price What you get Typical payback
Cross-Platform Audit Report £199 one-time Full 3-cloud analysis, quantified savings table, migration risk matrix, prioritised action plan (delivered as PDF + Markdown) 2–8 weeks at mid-size scale
Quarterly FinOps Review £149 / quarter Re-run analysis + trend comparison + executive summary. Includes a 30-min call to discuss findings Ongoing — catches drift and new waste

Implementation services (per service migrated)

Complexity Price Scope Examples
Simple £349 Static site, frontend, or JAMstack app. No persistent state, no custom domains requiring DNS cutover Next.js to Vercel, static site between platforms
Standard £749 API backend or worker. May have environment variables, outbound integrations, custom domain with DNS swap Node.js API from Railway to Render, Express app to Vercel Functions
Complex £1,499 Stateful service with persistent disk, database migration, or vendor-specific runtime features. Includes data migration plan + validation Database moves, services with volumes, cron jobs with platform-specific schedulers
Full Portfolio £2,499–£4,999 End-to-end optimisation of 10–50+ services across all connected clouds. Includes analysis, migration execution, 30-day post-migration monitoring, and re-audit Entire cloud portfolio restructuring

Why these prices work

Scenario Cloud bill Annual saving (est.) Service cost Payback
Small indie (this case) $90 / mo ~$228 / yr £199 audit ~10 months
Mid-size SaaS (10×) $900 / mo ~$2,280 / yr £199 audit + £749 migration ~5 months
Funded startup (50×) $4,500 / mo ~$11,400 / yr £2,499 full portfolio ~3 months

The rule of thumb: if the annual saving exceeds 2× the service fee, the engagement is a clear win. At 10× scale and above, it almost always is.


How to run this analysis yourself

# Install and configure
npm install
cp .env.example .env
# Add RAILWAY_API_TOKEN, RENDER_API_KEY, VERCEL_API_TOKEN, VERCEL_TEAM_ID

# Run the cross-platform audit
npm run audit:cross-platform

# Reports land in ./reports/
# Look for "Cross-platform optimisation" in cost-audit-*.md

Or contact Berta.One for a done-for-you analysis.


Figures are estimates for planning and communication, not tax or contractual advice. Real outcomes depend on traffic patterns, platform pricing changes, and migration scope. Always confirm with each platform's billing page before making financial decisions.