Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Cloud & DevOps

Multi-Provider Cloud Bill Tracker with Anomaly Alerts for Startups

A FinOps tool for small startups that pulls spend from AWS, Google Cloud and developer platforms into one FOCUS-style table, splits it by team and customer, and sends a short alert that explains what changed when a bill spikes. An intermediate cloud and DevOps final year project on cost visibility.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

2 semesters · 2 to 3 students

Deliverables

6 to ship

3 optional extras

Suggested stack

PythonPostgreSQL or DuckDBAWS Cost and Usage exportsProvider billing APIs and CSVsFastAPIReact chartsSlack or email webhooks
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Connectors for at least three sources: AWS cost exports, Google Cloud billing export or a second hyperscaler, and one developer platform or LLM API billing export.
  • A normalised cost table that follows the column names of the FinOps FOCUS specification, with a mapping document for each source.
  • Allocation rules that assign cost to teams, environments and customers using tags, account ids and naming patterns, and a visible "unallocated" bucket.
  • Daily anomaly detection per service and per allocation group, with a seasonality-aware baseline and tunable sensitivity.
  • Alerts that name the likely cause: which service, account, tag or usage type changed most compared with the baseline.
  • An evaluation on real or realistic billing data with injected anomalies, reporting precision, recall and alert lead time.

If you have time left

  • Unit economics: cost per active customer or per 1,000 API requests, using a metric pushed from the product.
  • A monthly forecast with a confidence band and a budget alert.
  • A pull request comment that estimates the cost change of a Terraform diff, using an existing estimator as the engine.

The problem: five bills, no owner

A ten-person startup today rarely pays one cloud bill. It pays AWS for the backend, a platform for the frontend, a managed database provider, a CDN and one or two LLM APIs, each billed in its own format and currency. Nobody owns the total. A developer leaves a large instance running after a load test, a background job starts calling an API in a loop, or a misconfigured log setting multiplies storage, and the founder finds out at month end.

Enterprises solve this with FinOps teams and paid platforms. Small teams have neither, and the built-in tools each see only their own provider.

What already exists and the gap

  • AWS Cost Anomaly Detection and the equivalent tools in other clouds detect spikes, but only within that provider.
  • Vantage and CloudZero combine many providers with allocation and anomaly features, priced as commercial platforms.
  • OpenCost allocates Kubernetes costs, which does not help a team that is not on Kubernetes.
  • Infracost estimates cost changes from Terraform before deploy, a different problem from watching actual spend.

The FinOps Open Cost and Usage Specification (FOCUS) now gives a common schema that major clouds can export to, which makes a small multi-provider tool realistic. The gap is an affordable tool that normalises all of a startup's bills, not just the hyperscaler ones, and explains spikes in plain words.

What you build

  • Ingestion: scheduled jobs that pull cost and usage from each source (export files in object storage, billing APIs, or uploaded CSVs), convert currency, and write rows into one FOCUS-shaped table.
  • Allocation: a rules engine that maps rows to team, environment and customer, with a report of what is unallocated and why.
  • Anomaly detection: daily baselines per group, detection with a method you can explain, and suppression rules for known events.
  • Root-cause summary: for each anomaly, the dimensions whose change explains most of the jump.
  • Dashboard and alerts: spend over time, top movers this week, and a short message to Slack or email.

The technically interesting part

Two things. First, normalisation: each provider bills differently (hourly versus daily granularity, credits and refunds as negative rows, amortised versus on-demand cost, late-arriving corrections). Getting them into one honest table, and documenting every decision, is real data engineering. Second, anomaly explanation: detecting a spike is easy; saying "80 percent of today's increase is NAT gateway data transfer in the staging account" is what makes it useful. A contribution analysis over dimensions, compared with the baseline, is the core algorithm. Show evaluators both the mapping document and worked examples of explanations.

How to evaluate it

  • Detection quality: inject at least 30 synthetic anomalies of different sizes and shapes into a realistic cost history and report precision, recall and false alarms per month.
  • Explanation accuracy: for each injected anomaly, check whether the top reason named matches the injected cause.
  • Reconciliation: normalised totals must match each provider's invoice to within a small, explained difference.
  • Timeliness: hours from spend occurring to alert, limited by each provider's export delay; report it honestly.
  • User test: show alerts to three founders or engineering leads and ask whether they would know what to do next.

Suggested plan

  1. Semester 1, weeks 1 to 5: FOCUS study, schema and the AWS connector.
  2. Weeks 6 to 10: two more connectors, currency handling and reconciliation checks.
  3. Weeks 11 to 14: allocation rules and the first dashboard.
  4. Semester 2, weeks 1 to 6: anomaly detection, explanation algorithm, synthetic evaluation set.
  5. Weeks 7 to 10: alerts and a pilot with one startup.
  6. Weeks 11 to 14: evaluation and write-up.

Path to a product

The first customer is a seed-stage startup or a software house paying several cloud bills in USD while earning partly in local currency, for whom a surprise bill is a real cash-flow problem. Charge a flat monthly fee by spend tier rather than a percentage of savings, which keeps it simple. Accelerators and incubators are a good channel because one partnership reaches many startups.

Scope warning

Do not build automated rightsizing, reserved instance purchasing or Kubernetes allocation. Do not promise real-time cost; provider exports are delayed by hours. Do not train a deep learning model for anomalies when a well-tuned statistical baseline is easier to explain and evaluate.

Learn what you need on Sefism

Get help with this idea

The quality of the evaluation data set decides how convincing this project is, so plan it with a mentor before you write the detector. A mentor can help you set the scope, pick a stack you can finish with, and design an evaluation your examiners will respect. The build is yours; the guidance is on scope, stack and evaluation. New here? Create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.