mrkeyoor.com_
Sat 17 Oct 13:34 UTC
Self-Hostedevaluationupdated 26 Aug 2026

cloud-cost-optimization-hub review

Cloud Cost Optimization Hub is a self-hosted dashboard for collecting and displaying cloud spending across AWS, GCP, and Azure. Today it is best understood as an early full-stack FinOps prototype: AWS has Cost Explorer code, while the README and source openly use sample data for other parts of the multi-cloud story.

+0stars / 7d
Verdict

Our backend run installed 149 packages and passed its single test, but Azure and GCP cost paths still use or call for mock-data replacement. Use this as a readable prototype or contribution project, not as a trusted multi-cloud bill. A production FinOps team should choose OpenCost, Infracost, Cloud Custodian, or native billing exports until ingestion, scheduling, tests, and credential controls are finished.

We ran it

Lab card: what happened when we ran cloud-cost-optimization-hubScreenshot of cloud-cost-optimization-hub (cloud-cost-optimization-hub.vercel.app)
Install✓ · 52s149 packages
Build✓ · 58s
Tests✓ · 21s1 passed · 0 failed of 1 (go test)
Repo91 files~4,984 lines of source · 0.5 MB · 1 CI workflows · Dockerfile

Answers from our run

Does cloud-cost-optimization-hub build from source?

Dependencies installed in 52 seconds (149 packages), and the build succeeded in 58 seconds. We cloned commit 8149d73 into a clean Debian container with 3 CPUs and no project-specific setup.

Do cloud-cost-optimization-hub's tests pass?

Yes. The project's own test command finished in 21 seconds and reported 1 passed, 0 failed (go test).

Who should not use cloud-cost-optimization-hub?

Teams expecting real three-cloud billing data: Azure generates sample costs in source, and issue 5 says GCP still needs the Cloud Billing API.

What are the alternatives to cloud-cost-optimization-hub?

OpenCost, Infracost, Cloud Custodian. Our backend run installed 149 packages and passed its single test, but Azure and GCP cost paths still use or call for mock-data replacement.

Setup2/5Backend builds, but the one-command stack omits both app services
Docs2/5Short quick start conflicts with Compose and missing Helm files
Community2/5276 stars and 19 open issues and PRs; last push July 2026
Maturity1/5One test, mock provider data, and no scheduled ingestion

Who it’s for

Go and Next.js developers who want a small starting codebase for an internal cost dashboard.
FinOps teams prepared to finish provider ingestion, scheduling, tests, and security controls themselves.
Contributors looking for clearly scoped backend, dashboard, and account-management issues.

Who it’s NOT for

Teams expecting real three-cloud billing data: Azure generates sample costs in source, and issue 5 says GCP still needs the Cloud Billing API.
Operators needing unattended daily refreshes: issue 14 says ingestion currently happens when an account is added and asks for a daily background job.
Security-sensitive production deployments: issue 22 asks for the missing disclosure policy, while the app stores cloud credentials and uses JWT authentication.
Buyers who require meaningful provider tests: our run found only 1 passing Go test, and issue 21 asks for unit tests around the AWS service.

Setup reality

Our sandbox installed 149 Go packages in 52 seconds. The backend build passed in 58 seconds, and its only parsed test passed in 21 seconds. The 0.5 MB checkout held 91 files and roughly 4,984 source lines.

The backend needs PostgreSQL with TimescaleDB, Redis, a JWT secret, and cloud credentials. The frontend needs its API URL. AWS uses Cost Explorer credentials; GCP and Azure are not yet equivalent real billing paths in the current code.

The README says make up starts the whole app, but the Compose file defines only PostgreSQL and Redis. Backend and frontend have separate Dockerfiles, while the claimed Helm chart is absent. Our scan found 1 CI workflow and no tests directory.

The dashboard is a prototype before it is a FinOps system

Cloud Cost Optimization Hub has the recognizable pieces of a cost product: account registration, authentication, a dashboard, provider records, recommendations, PostgreSQL, Redis, and a Next.js frontend. The repository is small enough to follow, at 91 files and about 4,984 source lines. That makes it approachable for contributors. It also means buyers should inspect what each cloud adapter does instead of reading the multi-cloud label as equal support.

AWS has real Cost Explorer calls for daily and service-grouped unblended cost. Azure's service generates one fixed sample amount per day for the previous 30 days, and issue 5 says GCP generates mock records until someone connects Cloud Billing. The README calls mock cost data a v0.1 feature and describes real AWS, GCP, and Azure integration as readiness. The source is clearer: the three provider paths are not equivalent.

The 52-second backend install does not produce the advertised stack

Our sandbox entered backend/, installed 149 Go packages in 52 seconds, and built successfully in 58 seconds. The checkout used only 0.5 MB before dependencies. That is a low-cost way to inspect the API. The repository includes backend and frontend Dockerfiles plus a root Compose file, so the pieces look ready for container-based development at first glance.

The root README says make up starts the database, backend, and frontend. The current Makefile has build and test targets but no up target, and Compose defines only TimescaleDB and Redis. There is also no Helm directory even though the architecture list says a Helm chart handles production. To run the product, expect to start the Go API and Next.js app separately or write the missing orchestration yourself.

What happened when we ran it

Our 3-CPU, 8 GB Debian sandbox built the Go backend and ran its available tests. Go reported 1 passed and 0 failed in 21 seconds. The scan found 1 CI workflow, a Dockerfile, and no tests directory. A passing test is better than a compiler-only check, but one case cannot establish billing accuracy, authentication behavior, database migrations, or provider failure handling.

We did not run the frontend, PostgreSQL, Redis, or any cloud API, and the measurement block contains no browser or end-to-end result. The lab result therefore says the backend compiles at commit 8149d73 and its single parsed test passes. It does not validate the numbers shown on the dashboard. Cost software needs reconciliation against provider invoices before anyone uses it for budgets or savings decisions.

Azure and GCP do not yet report real bills

The Azure service validates a subscription ID, then creates sample compute records without calling Azure Cost Management. GCP's open issue 5 names the work still required: authenticate with a service-account key, call Cloud Billing, handle pagination, store records, and test against a real project where possible. A dashboard can look complete while both providers display synthetic data, so label demo accounts plainly if this is deployed internally.

AWS is further along, but issue 21 asks for unit tests around its most important service. The request covers successful responses, empty responses, and SDK errors. Our run's 1 test does not fill that gap. Before trusting AWS totals, test account permissions, time boundaries, pagination, currency handling, duplicate ingestion, and reconciliation. Those are ordinary billing concerns, yet the repository does not provide measured assurance for them today.

Daily ingestion is still an open task

Issue 14 says costs are fetched when a user adds an account and asks for a background job that refreshes every 24 hours. Without scheduled ingestion, the dashboard can become stale while still rendering normally. Open pull request 30 adds a last-synced display, which would make staleness visible, but it was not merged into the default branch when fetched. Visibility helps only after a reliable collector exists.

Redis is listed as the queue for background jobs, though the central daily workflow remains an issue. A production collector also needs retries, rate-limit handling, idempotency, per-account status, and alerts when credentials expire. None of those should be inferred from the presence of Redis. Treat the current queue service as infrastructure available for future work, not proof that ingestion runs unattended.

Credential handling needs a security pass

The sample environment asks for a database URL, JWT secret, and public API URL. Cloud accounts add stronger secrets: the AWS service reads an access key and secret from the stored account credentials, while the proposed GCP path expects a service-account JSON key. Issue 22 asks contributors to create a security disclosure file, so there is not yet a documented private reporting route for vulnerabilities.

A serious deployment should prefer read-only billing roles, encrypt provider credentials outside ordinary application rows, rotate keys, record access, and restrict registration. The README's development credentials expose TimescaleDB on port 5432 and Redis on 6379, which is convenient locally and unsuitable as an internet-facing default. These are solvable engineering tasks, but they belong ahead of importing production cloud credentials.

July activity does not make v0.1 production-ready

GitHub recorded the last push on July 13, 2026. The repository had 276 stars and 19 open issues and pull requests when fetched, with several UI pull requests updated on July 19. There was no latest GitHub release. Activity is recent enough to call the project maintained, while the open work remains concentrated on basic product functions such as ingestion, tests, health checks, security policy, and dashboard status.

Cloud Cost Optimization Hub is a useful teaching codebase and a plausible internal prototype. Its 149-package backend builds, and the small tree makes missing pieces visible. It is not yet the place to consolidate decisions across three real cloud bills. Adopt it only if finishing the collectors and operating model is the project you want; otherwise choose a tool whose supported cost source matches your estate.

Alternatives

ProjectWhat it isPick it when
OpenCost gh↗A cost-monitoring system centered on Kubernetes workloads and cloud charges.pick this instead when Kubernetes allocation and an established cost model are the main requirements.
InfracostA tool that estimates cloud cost changes from infrastructure code before deployment.pick this instead when engineers need pull-request cost feedback rather than a historical dashboard.
Cloud CustodianA policy engine that finds and acts on cloud cost, security, and governance conditions.pick this instead when automated remediation policies matter more than a unified dashboard.

What people are saying

  1. [github-trending] oseghalep/cloud-cost-optimization-hub

Sources

  1. Cloud Cost Optimization Hub README
  2. Replace mock GCP data
  3. Daily ingestion job request
  4. AWS unit-test request
  5. Security policy request

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →