Read-only by default · No surprises

Find the Railway, Render, Vercel, Netlify & Fly.io spend you didn’t know you had.

Cost Doctor walks every project, environment and service in your cloud-app accounts, attributes spend, and produces a safe, prioritised fix plan — with confidence and risk labelled on every line. No write access. No surprises.

Hosted dashboard: connect up to five clouds on Pro — scheduled audits, alerts, and trends included.

~/work/your-app $ npm run audit:cross-platform
COST DOCTOR — Cross-platform audit
====================================
Scanning: Railway (71) · Render (5) · Vercel (44) · Netlify (12) · Fly (8)

Estimated monthly cost (all platforms): $89.51/mo
  Railway:  $62.51/mo
  Render:    $7.00/mo
  Vercel:   $20.00/mo  (Pro plan)
  Netlify:   $0.00/mo  (within credits)
  Fly.io:    $0.00/mo  (stopped machines)

Cross-platform (Pro): 3 opportunities worth ~$26.00/mo
  1. Move "4schools" to Vercel         — save $16.37/mo  [fits in allowance]
  2. Move "llmco-chatbot-backend"      — save  $7.00/mo  [fits in allowance]
  3. Stop idle "berta-pai-backend"     — save  $5.31/mo

Cloud-app bills don’t spike. They drift.

Modern PaaS pricing is usage-based and opaque. By the time the invoice arrives, the decision that caused it is six weeks old. Cost Doctor names the four drifts that cause ~80% of avoidable spend.

  • Idle services with over-provisioned RAM

    The single biggest source of surprise bills. Every GB of memory you reserve costs roughly £8/month on Railway whether your app touches it or not.

  • Public services serving large media from origin

    Egress is metered. A blog hero image, a Streamlit dashboard, or a PDF export proxy can quietly burn £15–£65/month on a small app.

  • Forgotten preview / staging environments

    Branch previews and PR environments often run 24/7 long after the PR merged. Cost Doctor finds them and tells you which to stop.

  • Volume / disk creep

    Logs, caches, user uploads. Every gigabyte costs about £0.12/month and grows silently. We list which volumes are growing and what to do about it.

Three steps. Zero write access.

We’re a recommender, not an automator. The CLI never mutates your account; the hosted dashboard launches with the same safety guarantee.

  1. 01read-only

    Connect read-only

    Paste a read-only API token for Railway, Render, Vercel, Netlify, or Fly.io. We never receive write scope; tokens are encrypted at rest.

  2. 02read-only

    We walk every project

    Cost Doctor enumerates projects, environments, services and volumes. Where the platform exposes usage metrics, we compute a usage-based cost; where it doesn’t, we say so explicitly.

  3. 03read-only

    Get a fix plan, not a chart

    Each finding has a confidence score, a risk label, an estimated saving, and step-by-step instructions. Databases and production are flagged DO_NOT_TOUCH unless you opt in.

Built like an audit, not a dashboard.

Cost Doctor speaks governance language: waste, drift, resource leakage, fix plan, audit evidence. No BI charts you have to interpret.

  • Cross-platform cost simulation (Pro)

    Simulate every service on every other supported cloud — Railway, Render, Vercel, Netlify, Fly.io — respecting team-level included allowances. Migration checklists plus optional BYOK AI guidance (your OpenAI or Anthropic key) for step-by-step action help.

  • Pro automation (hosted)

    Scheduled daily or weekly audits, email and Slack alerts when a run finishes, spend anomaly detection vs your last audit, and a dashboard cost-trend chart — configure it under Pro automation after you subscribe.

  • 7 waste-detection rules out of the box

    High RAM / low CPU, network-heavy public services, old inactive services, preview / staging leakage, database review, agent usage, volume creep.

  • Confidence + risk on every line

    Cost lines carry a confidence label (high / medium / low). Recommendations carry a risk (LOW / MEDIUM / HIGH / DO_NOT_TOUCH). No 'just trust the chart'.

  • Cloudflare R2 migration advisor

    For network-heavy services we generate a tailored migration plan: bucket name, CDN domain, sync command, rollout checklist.

  • Plain-English walkthrough

    Every audit ships with a walkthrough: glossary, 30-minute action list, step-by-step narrative for non-technical readers.

  • Multi-platform: Railway, Render, Vercel, Netlify, Fly.io

    Ships with adapters for Railway, Render, Vercel, Netlify, and Fly.io. One audit engine, same report shape, unified cost model.

Case study #1 · Bandwidth offload

One service.$16.27 → $1.37 / mo after one cutover.

Cost Doctor ran against a live Railway account and found 96% of one service’s bill was outbound bandwidth — ~313 GB/month at $0.05/GB. We moved static and media bytes to Cloudflare R2 + CDN and Railway kept HTML, APIs, and tiny redirects.

Monthly bill before
$16.27
Monthly bill after (95%)
$1.37
Egress before / 30d
~313 GB
Egress after / 30d
~16 GB
Saved per month
~$14.90
Annualised saving
~$179 / yr

Case study #2 · Cross-platform analysis

Three clouds.~$26 / mo saved by moving workloads.

Same team, five clouds (Railway, Render, Vercel, Netlify, Fly.io). The cross-platform simulator found that 4schools costs $16.37/mo on Railway but $0 extra on Vercel (fits in the Pro allowance). Combined with stopping idle services: ~$26/mo saved on a $89/mo portfolio.

At 10× scale (~$900/mo cloud spend) the same moves save ~$2,280–$3,360 / yr. At 50× scale: ~$11,400–$16,800 / yr.
3-cloud bill before
$89.51
After optimisation
~$63
Services analysed
115
Actionable opportunities
3
Saved per month
~$26
Annualised (at 10×)
~$3,120 / yr

Pro feature · Cross-platform analysis

Same workload. Three clouds.Very different prices.

Cost Doctor simulates every service on every other supported cloud — Railway, Render, Vercel, Netlify, and Fly.io — respecting each platform’s included allowances. The result: a per-service comparison table showing exactly where you’re overpaying.

~/work/your-app $ npm run audit:cross-platform
COST DOCTOR — Cross-platform audit
====================================
Scanning: Railway (71) · Render (5) · Vercel (44) · Netlify (12) · Fly (8)

Estimated monthly cost (all platforms): $89.51/mo
  Railway:  $62.51/mo
  Render:    $7.00/mo
  Vercel:   $20.00/mo  (Pro plan)
  Netlify:   $0.00/mo  (within credits)
  Fly.io:    $0.00/mo  (stopped machines)

Cross-platform (Pro): 3 opportunities worth ~$26.00/mo
  1. Move "4schools" to Vercel         — save $16.37/mo  [fits in allowance]
  2. Move "llmco-chatbot-backend"      — save  $7.00/mo  [fits in allowance]
  3. Stop idle "berta-pai-backend"     — save  $5.31/mo

CLI output

One command scans all your clouds

ServiceCurrent cloudNowBest targetSimulatedSavingPortability
4schoolsRailway$16.37Vercel$0.00$16.37/moeasy
llmco-chatbot-backendRender$7.00Vercel$0.00$7.00/moeasy
berta-pai-backendRailway$5.31— (idle 66d)$0.00$5.31/mon/a

Combined potential saving: ~$28.68/mo

Comparison report

Per-service, per-platform savings table

Cost Doctor

Migration checklist: 4schoolsVercel Pro

Current

Railway

$16.37/mo

(96% bandwidth)

Target

Vercel Pro

$0.00/mo

(fits in 1 TB included allowance)

Portability

easy

Saving

$16.37/mo

Bring your own OpenAI or Anthropic key in Connections. Your key is encrypted and billed by your provider.

  1. Open the service's repository in your IDE (Cursor or VS Code recommended) and create a new feature branch — for example migrate/4schools-to-vercel. Every change in the rest of this checklist should be a commit on that branch, never a manual edit inside a dashboard text box.
  2. Confirm the workload is genuinely portable: read the README and grep the codebase (railway, process.env.RAILWAY_*, vendor SDK imports) for Railway-specific runtime APIs, env vars, or build hooks.
  3. Spin up a non-production deployment on Vercel from the feature branch. Use a throwaway subdomain (e.g. *.vercel.app). Wire test env vars only; do not point real traffic yet.
  4. Mirror outbound integrations (Cloudflare R2, third-party APIs, Postgres connection strings) to the new environment. Use your IDE to search for hardcoded URLs / IDs / regions that may need updating.
  5. Smoke-test the Vercel deployment for 24–72 hours. Compare error rates, p95 latency, and cold-start behaviour to Railway. If anything regresses, stop here and fix it on the branch.
  6. The cutover (the only irreversible step): lower DNS TTL to 60 seconds at least 24h before. On migration day, swap the CNAME / A record to Vercel, monitor real traffic split for ~1 hour, then raise TTL back.
  7. Pause — do not delete — the original Railway service for at least 7 days. This is your cheap rollback insurance.
  8. After 7 days of clean operation, re-run npm run audit:all to confirm the bill change is reflected. Then delete the paused Railway service.

Cost Doctor never moves anything for you. Every step is manual and reversible up until the DNS cutover.

Migration checklist

Step-by-step, with rollback plan

Real audit, real numbers

From a live multi-cloud portfolio (example: 71 Railway + 5 Render + 44 Vercel projects). Service names are real — the savings are real.

ServiceCurrent cloudNowBest targetSimulatedSavingPortability
4schoolsRailway$16.37Vercel$0.00$16.37/moeasy
llmco-chatbot-backendRender$7.00Vercel$0.00$7.00/moeasy
berta-pai-backendRailway$5.31— (idle 66d)$0.00$5.31/mon/a
LibraryFrontRailway$2.90Render$2.52$0.38/moeasy
stellar-reverenceRailway$1.03— (staging)$0.00$0.72/mon/a

Combined potential saving: ~$29.78/mo

Savings waterfall

Starting (3 clouds)
$89.51/mo
Move 4schools → Vercel
$73.14/mo
Move chatbot → Vercel
$66.14/mo
Pause idle services
$60.11/mo
After optimisation
$60.11/mo

Numbers from a real audit. Savings scale linearly — at 10× this portfolio size, the same moves save ~$300/mo (~$3,600/yr).

View Pricing

Available in Pro (£15/mo). The CLI is free for single-platform audits.

Pricing

The CLI stays free, forever. The hosted tiers add automation, history and governance.

Pro

£15per month (or £99/yr)

For indie SaaS founders, AI app builders, freelancers and agencies.

  • Everything in Hosted Community
  • Multi-platform: Railway, Render, Vercel, Netlify, Fly.io
  • Cross-platform cost simulation — find the cheapest cloud per service
  • Scheduled daily / weekly audits
  • Full audit history + cost trend charts
  • Anomaly detection
  • Slack + email alerts
  • BYOK AI step-by-step guidance (OpenAI or Anthropic)
  • Cloudflare R2 migration advisor

Team

£79per month

Multi-workspace, multi-user. For agencies and scale-ups.

  • Everything in Pro today (5 clouds, automation, AI, R2 advisor)
  • Same 5-platform connection limit as Pro
  • Priority onboarding — contact us
  • Roadmap: multi-workspace dashboard
  • Roadmap: team users, roles & policy engine
  • Roadmap: staging cost controls & agency reporting

Governance

From £500per month (custom)

Board-grade FinOps governance for VC-backed startups & regulated industries.

  • Everything in Team
  • Board-grade governance reports
  • Immutable audit logs
  • Policy attestation workflow
  • Monthly FinOps review export
  • Investor / management reporting
  • Long-tail platform coverage

Pro and Team support five audit platforms: Railway, Render, Vercel, Netlify, and Fly.io. Team adds priority onboarding; workspace and policy features are on the roadmap.

Done-for-you by Berta.One

Don’t want to run the tool yourself? We analyse your cloud spend, find the savings, and implement the changes — so you don’t have to.

Cross-Platform Audit Report

£199one-time

We connect to your Railway, Render, Vercel, Netlify, and Fly.io accounts (read-only), run the full cross-platform simulation, and deliver a quantified savings report with a prioritised action plan.

  • Full 5-cloud analysis (Railway, Render, Vercel, Netlify, Fly.io)
  • Quantified savings table per service
  • Migration risk matrix + portability assessment
  • Prioritised action plan (PDF + Markdown)
  • 30-minute walkthrough call

Quarterly FinOps Review

£149per quarter

We re-run the analysis every quarter, compare trends, flag new waste, and walk you through findings on a call.

  • Quarterly re-audit + trend comparison
  • Executive summary for stakeholders
  • New-waste and drift detection
  • 30-minute review call each quarter
  • Discounted if bundled with audit report

Migration & implementation

We move your services to the cheapest cloud, handle DNS, env vars, and post-migration monitoring. Every change is made in a feature branch with full version control.

Simple migration

£349per service

Static sites, frontends, JAMstack apps with no persistent state.

  • Next.js / static site between platforms
  • No database or persistent disk
  • DNS cutover included
  • 7-day post-migration monitoring

Standard migration

£749per service

API backends and workers with environment variables, integrations, and custom domains.

  • Node.js / Python API between platforms
  • Environment variable migration
  • Custom domain DNS swap
  • Outbound integration re-wiring
  • 14-day post-migration monitoring

Complex migration

From £1,499per service

Stateful services, databases, or vendor-specific runtime features. Includes data migration plan.

  • Database or persistent-disk services
  • Data migration + validation plan
  • Vendor-specific feature mapping
  • Rollback strategy included
  • 30-day post-migration monitoring

Full Portfolio Optimisation

£2,499 – £4,999

End-to-end optimisation of 10–50+ services across all clouds. Includes analysis, migration execution, 30-day post-migration monitoring, and re-audit.

Typical ROI: pays for itself in 2–4 months at mid-size scale. At £700+/mo cloud spend, the annual savings usually exceed 3–5× the service fee.

Request a quote

All prices exclude VAT. Berta.One operates read-only by default — write access is scoped, opt-in, and documented per engagement. Migration work is done in your repository on feature branches; nothing is pushed without your review and approval.