# reckoner

> Self-hosted dashboard that shows your AI and cloud account balances in one place

- Repository: https://github.com/CaptainASIC/reckoner
- Category: Token & cost savings
- Stars: 67 · Forks: 10 · Language: Python · License: GPL-3.0
- Experience: Some experience
- Page: https://ir.adyog.com/repos/captainasic/reckoner/

If you use many AI APIs and cloud services, your credits and bills are scattered across a dozen consoles. Reckoner puts them on a single page so you can see what is left and what you have spent.

It has a FastAPI backend in Python and a React frontend. The backend stores your credentials in a local SQLite database and has one provider file per service. It polls each service in the background every 5 to 30 minutes, and the browser refreshes every 60 seconds.

Some providers work with a normal API key. Others, such as Anthropic, Mistral, Groq, CivitAI and Perplexity, need a session cookie or token copied from your browser's developer tools, so those setups may be less stable. The README marks some balances as best-effort. The author also ships a separate, closed-source iOS app; this repo is only the web version.

## What it does

- **Many providers on one page**: Covers AI services (OpenRouter, OpenAI, Anthropic, xAI, Mistral, Groq, Manus, Gemini, Perplexity and more) and cloud services (Railway, Vercel, Neon, RunPod, AWS, GCP).
- **Automatic and manual refresh**: The browser refreshes every 60 seconds and the backend polls in the background. You can also force a refresh for one provider or all of them.
- **Credentials set in the app**: Enter keys through a settings modal on each provider card, or use environment variables. They are saved in SQLite on your server.
- **Optional password gate**: Set RECKONER_PASSWORD to require login for settings, or for the whole dashboard. Login tokens are JWTs that last 30 days.
- **Several ways to deploy**: Run it locally, deploy two services on Railway, or build the included multi-stage Docker image.

## What you could build

- Track remaining prepaid credits across OpenRouter, Anthropic, xAI and other AI APIs in one view.
- Watch month-to-date spend on AWS, GCP and Railway without opening each console.
- Host a private balance dashboard behind a password for yourself or a small team.
- Spot a nearly empty account before an API-powered app starts failing.
- Read the provider files to learn how to write a new balance checker.

## Who it's for

Developers who pay for several AI or cloud services and are comfortable running a Python and Node app and copying API keys or session cookies.

## Get started

Copy .env.example to .env and fill in credentials for only the services you use. Then run the backend and frontend locally (needs Python 3.11+, Node 22+, pnpm and uv), or build and run the Docker image.

```
git clone https://github.com/CaptainASIC/reckoner
```
```
docker build -t reckoner .
```
```
docker run -p 8000:8000 --env-file .env reckoner
```

Tags: dashboard, billing, api-credits, fastapi, self-hosted
