Codebase guide
Start in the file that owns the behavior.
This repository is a Node product server, page-oriented web frontend, Expo mobile client, Supabase migration history, Cloudflare worker set, operations toolkit, and Nextra handbook in one deployable workspace.
Top-level map
| Path | Owns |
|---|---|
server.js | Express app, middleware, REST API, web routes, meeting WebSocket server, startup and shutdown |
worker.js | Independent background worker loop and lifecycle |
lib/ | Product services, provider adapters, policy, validation, logging, metrics, data and media helpers |
Root *.html | Public, account, Record, Meet, workspace, sharing, editing, domain, and Superadmin web screens |
assets/ | Shared browser CSS/JS, brand images, generated video-effect runtime, speech and durability helpers |
assets-src/ | Source modules used to build browser video-effect assets |
apps/mobile/ | Expo/React Native mobile client and meeting flows |
support-docs/ | Next/Nextra product handbook and support knowledgebase source |
migrations/supabase/ | Canonical numbered Postgres schema and RLS migrations |
supabase/ | Supabase CLI project metadata and selected linked migrations |
workers/ | Cloudflare playback gateway and media-origin workers |
scripts/ | Migrations, backups, support-index generation, lint, security and operational checks |
deploy/ | Caddy, Docker Compose, systemd, observability, STT, TURN, and VPS deployment assets |
test/ | Node test suite, product contracts, security, mobile, media, meeting, provider, and operations regression checks |
docs/ | Long-form product plans, engineering handoffs, operations, compliance, user guides, and launch evidence |
Find by product area
Async video
- record.html
- video-editor.html
- library.html
- lib/media-processing.js
- lib/r2.js
- assets/recording-durability.js
Live rooms
- meet.html
- server.js WebSocket section
- lib/meeting-access.js
- lib/turn-credentials.js
- lib/meeting-summary-*.js
Tenancy and commerce
- dashboard.html
- lib/tenant-service.js
- lib/workspace-policy.js
- lib/entitlements.js
- lib/billing-service.js
Public delivery
- share.html
- embed.html
- lib/playback-token.js
- workers/playback-gateway
- lib/domain-service.js
Knowledge and staff tools
- support-docs/app
- lib/support-knowledgebase.js
- superadmin.html
- lib/superadmin-*.js
Runtime and operations
- lib/env.js
- lib/db.js
- lib/logger.js
- lib/metrics.js
- scripts/ops
- deploy
High-value service files
| File | Responsibility |
|---|---|
lib/env.js | Parses and validates every runtime setting; defines meet-only fallbacks and production requirements |
lib/db.js | Postgres pool creation and connectivity |
lib/supabase.js | Supabase Auth clients and session helpers |
lib/tenant-service.js | Workspace creation, membership, active tenant resolution |
lib/entitlements.js | Guest/free/pro capability matrix |
lib/validation.js | Zod request schemas and normalization |
lib/r2.js | Object keys, upload/delete, signed media URLs |
lib/media-processing.js | Processing manifests, artifacts, exports, and media job helpers |
lib/background-jobs.js | Worker jobs, retries, cleanup, dispatch and heartbeat helpers |
lib/meeting-summary-jobs.js | Summary claims, block progress, retries, leases and recovery |
lib/domain-service.js | Domain normalization, DNS ownership/routing checks, tenant host resolution |
lib/superadmin-service.js | Platform metrics, users, tenants, billing, support and audit queries |
lib/rate-limiter.js | In-memory or Redis-backed distributed limiter abstraction |
lib/logger.js, lib/metrics.js | Structured logs and Prometheus instrumentation |
Documentation ownership
README.md: setup, production target, core API surface, deployment overview.docs/PRODUCT_ARCHITECTURE.md: broad product, feature, data, and route map.support-docs/app/product: self-guided product narrative and screenshots.support-docs/app/frontend: screen and client implementation guides.support-docs/app/backend: API, data, media, security, and operations guides.docs/user: longer customer guidance not yet duplicated into the Nextra handbook.docs/internal: implementation logs and sensitive engineering detail.docs/operations: service-specific deployment, acceptance, recovery, and troubleshooting runbooks.docs/launch-readinessanddocs/product-enhancements: planning and evidence, not evergreen customer promises.
Change checklist
- Find the user-facing screen and backend route.
- Find the policy/capability service instead of copying a plan or role rule.
- Find the table migration and RLS policy for durable data.
- Update the closest evergreen handbook page.
- Add or update the test that owns the contract.
- Run the smallest relevant verification, then the broader CI check in proportion to risk.