Technical Documentation
How Social Live works — architecture, features, money flows, and operations.
Last updated Thu Jul 16 2026 00:00:00 GMT+0000 (Coordinated Universal Time)
Welcome to the Social Live engineering documentation. These pages explain how the whole platform works: the architecture, every major feature area, the money system, and how to operate the deployment.
How this documentation is organized
| Section | What it covers |
|---|---|
| Overview | The product, the monorepo layout, and the technology stack |
| Architecture | System topology, backend modules, database model, realtime, and media |
| Mobile app | Flutter client architecture, state management, networking |
| Authentication | OTP flows, sessions, tokens, devices, QA test allowlists |
| Live rooms | Room lifecycle, join flows, stage guests, PK battles |
| Chat & calls | Direct messages, conversations, call signaling |
| Economy | Coins, diamonds, gifting, in-app purchases, refunds, withdrawals |
| Moderation | Reports, bans, and safety enforcement |
| Admin portal | The operator dashboard: pages, auth, API proxy |
| Operations | Deployment topology, environment variables, runbooks |
| Creator program | Proposed design: host tiers, agencies, quotas & bonuses, PK economy, payout rails |
How to update these docs
The documentation is docs-as-code: every page is a Markdown file in
docs-portal/content/docs/ inside the main repository. This site is a
standalone public portal (the docs-portal workspace), separate from the
admin console.
- Edit a page — change the
.mdfile, commit, redeploy the docs container. Nothing else. - Add a page — drop a new
.mdfile into the right section folder. It appears in the sidebar automatically. Folders are sections; numeric prefixes (07-economy) control ordering and are hidden from URLs. - Add a section — create a folder with an
index.md. - Frontmatter — each file starts with
title,description, andupdatedfields. Bumpupdatedwhen you touch a page. - Diagrams — write a fenced code block with language
mermaid; it renders as a diagram in place.
The working convention: any commit that changes behavior updates the
matching page here in the same commit. That rule is encoded in the
repository's CLAUDE.md, so AI-assisted changes follow it automatically.
This is a public site. Never commit real secrets, tokens, private keys, or live credentials to a docs page — use placeholders only.
Publishing
scripts/deploy-docs.sh
# or, directly on the host:
docker compose -f docker-compose.prod.yml --env-file .env.production up -d --build docs
The container image includes the Markdown content; rebuilding the docs service publishes the current docs.