No description
Find a file
Vadym Samoilenko c85ba20501 fix: use source_app as project dimension, drop empty project_id
project_id is never populated (all null); source_app is the de-facto
project identifier. By Project preset now shows real data.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 15:59:54 +01:00
.claude feat: dev login + optical-dev deploy setup 2026-04-27 12:05:42 +01:00
backend feat: add google_tts generic model pricing + video-accessibility backfill script 2026-04-27 14:59:42 +01:00
frontend fix: use source_app as project dimension, drop empty project_id 2026-04-27 15:59:54 +01:00
infra feat: add server-side update.sh script for in-place deploys 2026-04-27 12:30:50 +01:00
scripts feat: add google_tts generic model pricing + video-accessibility backfill script 2026-04-27 14:59:42 +01:00
sdk feat: initial implementation of Oliver AI Cost Tracker 2026-04-27 11:26:08 +01:00
.env.example feat: dev login + optical-dev deploy setup 2026-04-27 12:05:42 +01:00
.gitignore feat: initial implementation of Oliver AI Cost Tracker 2026-04-27 11:26:08 +01:00
README.md fix: remove readme field from pyproject.toml, add README.md 2026-04-27 12:20:50 +01:00

AI Cost Tracker

Shared AI cost tracking service for Oliver Agency projects.

Tracks LLM usage costs across workspaces, teams, and projects. Provides a REST API for recording AI calls and an admin dashboard for analytics.

Stack

  • Backend: FastAPI, MongoDB, Redis, Celery
  • Frontend: React, Vite, TypeScript
  • Auth: Azure AD SSO (+ dev login for local testing)
  • Deploy: Docker Compose on optical-dev

Quick start

cp .env.example .env
# Fill in Azure AD credentials and secrets
docker compose -f infra/docker-compose.yml up -d

Admin UI: http://localhost:5174 API docs: http://localhost:8001/docs