Skip to main content
Spoko.Studio
All work

2024–2026 · Under NDA

iGaming CRM

Multi-tenant CRM at scale. Under NDA.

Under NDA
Launched in
3 months
Live for
2 years
On this page

Context

Where this lives in the world.

A multi-tenant CRM platform for iGaming affiliate management — BDM and Affiliate Manager workflows, real-time chat between teams, financial decimal precision, and observability tight enough for production-critical operations. Specifics live under NDA; the high-level engineering story is below.

Challenge

What was hard about it.

Scale and tenancy at the same time. Multiple isolated tenants on one codebase, real-time task synchronization between roles, financial calculations that cannot drift, and an error-tracking story strict enough to alert before users notice.

Solution

What we built to solve it.

Turborepo monorepo (NestJS API + Next.js 16 web). Tenant isolation via Postgres Row-Level Security — a query for tenant A physically cannot see tenant B's rows even with bugs. Real-time chat on Socket.io. Financial values stored as decimals end to end (no floats). Sentry organization tuned for high-signal alerting with custom Telegram routing.

Tech story

Decisions worth calling out.

  • Row-Level Security policies — every tenant query passes through Postgres-level isolation, not application-level checks
  • FLAC pattern (Fields Latently Absent from Client) — sensitive fields stripped before they hit the wire
  • Optimistic locking on task state — two concurrent edits resolve to the latest write with audit trail
  • Sentry Replay-quota tuning + custom alert webhook bridge to a Telegram bot — no missed production incidents
  • Real-time chat with materialized unread counts (similar pattern to Homie, larger scale)

Screenshots

Visual artifacts (redacted under NDA).

Outcome

Confidential · serves thousands of daily active users

Looking to build something like this?

If you're sitting on a similar problem — multi-currency booking, clinical workflow, real-time pipelines, anything in this orbit — we've already done the hard parts once. The second time is faster, cheaper, and shaped to your business. Tell us what you have in mind.