I stopped the browser from deciding how much credit a user had.
The old flow trusted browser state, so balances and access logic could drift.
- Owned
- The Spring Boot ledger, mutation rules, balance checks, and Stripe-linked service flows.
- Decision
- Put credit authority in one backend model across purchases, subscriptions, and content ownership.
- Result
- One system of record and fewer ambiguous failure paths.
- CREDIT LEDGER
- STRIPE CHECKOUT
- WEBHOOKS