How we build platforms that scale to a million users

The engineering principles we apply from day one so that growth is never a painful surprise.

Rkiza Team2 min read
How we build platforms that scale to a million users

Peak time on Jawlah looks like this: a popular streamer starts a round of roulette, and within seconds thousands of viewers fire commands into chat at the same instant, all expecting to see the result on stream immediately. If the platform hesitates for one second, the excitement is gone. That paragraph is our entire engineering philosophy.

Design for growth before it happens

Our first rule: we never build a prototype and "fix it later". From day one we make decisions that survive growth:

  • Small independent services instead of one giant application, so the part under pressure can scale on its own.
  • State lives outside the process: anything that would be lost on a restart goes in Redis or the database, never in memory.
  • Caching in layers: Cloudflare at the edge, Redis in the middle, and carefully designed indexes in the database.

Real time without surprises

Jawlah relies on WebSockets to deliver game results instantly. The most important lesson we learned: a few batched messages beat thousands of individual ones. We collect viewer commands in very short time windows and broadcast one update instead of a thousand, which keeps both the network and the browser comfortable.

Measure everything

You cannot improve what you do not measure. Every service has a dashboard showing p99 latency, error rate and queue depth. When a number climbs we know before the user feels it, and alerts reach us at any hour, because our 24/7 support is a practice, not a slogan.

Load test before the audience does

Before every major launch we simulate tens of thousands of concurrent viewers. We break the platform in staging so it does not break in front of an audience.

Takeaway

Resilience is not a feature you bolt on at the end. It is the sum of dozens of small, correct decisions made early. A million users are not a challenge if you designed for them before they arrived.

Related posts

AI in our products: from idea to production
2 min read

AI in our products: from idea to production

How we decide where AI earns its place in a product, and how we take it from experiment to a feature users rely on.

Read more
Why we built SNDR
2 min read

Why we built SNDR

How an internal problem with verification emails turned into a standalone product used by developers across the region.

Read more