Karat — AIM GOLD¶
Karat is the monorepo for AIM GOLD, a digital-gold platform: buy, save (SIP), and hold 24K gold from a phone or the web, plus a jewellery shop and a back-office admin console.
The problem¶
Retail gold buyers in India want to save small amounts regularly, hold gold digitally without storage risk, and redeem or buy jewellery — with KYC, payments, and a custodian (SafeGold) handled for them. Running that safely needs a customer app + website, a payments/KYC/gold-custody backend, an admin console, and observability, all deployable by a small team.
The solution¶
One repository containing every part of the platform:
- a Flutter mobile app and a React website for customers;
- a NestJS backend (customer API + admin API) integrating SafeGold (gold), Razorpay (payments/payouts), and an SMS gateway;
- a Next.js admin portal for operations, including a Build Tools page that drives deployments;
- a single-VPS Docker Compose stack behind Caddy, deployed by GitHub Actions → GHCR → SSH pull;
- a Grafana/Prometheus/Loki/Tempo monitoring stack.
A second, parked Go/Fiber backend is a from-scratch rewrite of the API that is not yet deployed.
Who it's for¶
- Customers — via the mobile app (
aimgold.orgapp stores) and website (aimgold.org). - Operations/admin staff — via the admin portal (
admin.aimgold.org). - Developers — this repository; start with Getting Started.
Current status¶
Early-stage, actively deployed. What is live end-to-end today:
- Account, auth (OTP/MPIN/biometric), and profile.
- The jewellery shop: catalogue → cart → Cash-on-Delivery order.
- SIP (recurring gold savings) plan creation.
- Live gold price, transactions, admin console, monitoring, and push-to-deploy CI/CD.
What is intentionally gated off or stubbed: digital-gold buy/sell settlement (feature-flagged off in every client), KYC (no live provider), sell/redeem, silver, and push notifications. See Features for the exact per-feature status, and the Changelog for how the platform reached its current state.
Production domains
aimgold.org + www (website) · api.aimgold.org (customer API) ·
admin-api.aimgold.org (admin API) · admin.aimgold.org (portal) ·
monitor.aimgold.org (Grafana) · docs.aimgold.org (this documentation).
All on a single VPS behind Caddy.