0ced12cb819c858f257d24ce5e95b61e5c165c92
CodexDash
CodexDash is a mobile-first dashboard for monitoring multiple OpenAI Codex accounts from one place.
Stack
- Frontend: React + Vite + TypeScript + Tailwind CSS + shadcn/ui-style components
- Backend: NestJS
- Database: Prisma + SQLite
- Auth: CodexDash email/password auth with JWT
What it does
- Create a CodexDash account and sign in
- Connect multiple OpenAI Codex sessions under one CodexDash account
- Refresh
https://chatgpt.com/backend-api/api/codex/usagefor each connected OpenAI account - Merge numeric usage fields into one aggregate dashboard
- Inspect each connected account individually with raw API payload details
Important note about "OpenAI Codex login"
OpenAI does not expose a simple third-party OAuth flow for this usage endpoint.
This MVP implements OpenAI account connection as a session-based login flow:
- Sign in to
chatgpt.comin your browser - Copy the authenticated
Cookieheader - Paste it into the Connect OpenAI account dialog in CodexDash
The backend encrypts the cookie header before storing it in SQLite.
Local development
pnpm install
pnpm --filter @codexdash/api exec prisma generate
cd apps/api && DATABASE_URL=file:./dev.db pnpm exec prisma db push
cd ../..
pnpm --filter @codexdash/api start:dev
pnpm --filter @codexdash/web dev --host 0.0.0.0
Environment variables
apps/api/.env
JWT_SECRET=dev-jwt-secret-for-codexdash
ENCRYPTION_SECRET=dev-encryption-secret-for-codexdash-32chars
DATABASE_URL=file:./dev.db
apps/web/.env
VITE_API_BASE_URL=http://localhost:3001
Verification
pnpm lint
pnpm test
pnpm build
curl http://localhost:3001/health
API overview
POST /auth/registerPOST /auth/loginGET /auth/meGET /codex/accountsPOST /codex/accountsDELETE /codex/accounts/:accountIdGET /codex/usage-summary
Description
Languages
TypeScript
86.9%
JavaScript
11.3%
Dockerfile
1%
CSS
0.4%
HTML
0.4%