mizan.dev
All work

Media · Publishing · 1M+ Monthly Readers

Newspaper SaaS Platform

Multi-tenant editorial SaaS for a Bangladeshi news portal serving 1M+ monthly readers — Redis caching to absorb traffic spikes, WebSocket breaking-news broadcasts, subscription billing, and AWS infrastructure.

LaravelRedisWebSocketsAWSNginxCI/CDMySQL

Monthly readers

1M+

DB load

↓ drastically

Breaking news

Real-time

Tenants

Multi

Overview

A Bangladeshi online newspaper with over one million monthly readers needed a scalable SaaS platform to support multi-tenant editorial workflows, subscription billing, real-time breaking news, and SEO- optimised content delivery. Traffic spikes around breaking news events could be sudden and massive.

Redis Caching Layer

Hot articles, homepage feeds, and category archives are served from a Redis caching layer with tiered TTLs. During a traffic spike, the overwhelming majority of requests are served from cache — the database sees a fraction of the raw traffic.

Cache invalidation is event-driven: publishing or updating an article triggers targeted cache busts for exactly the affected keys. No full- cache flushes, no stale content served past its TTL.

WebSocket Breaking-News Broadcasts

When editors publish a breaking news article, a WebSocket event is broadcast to all connected subscribers instantly — no polling, no refresh required. Thousands of concurrent readers receive the notification in real-time. The broadcast fan-out is handled by Redis pub-sub across multiple application instances.

Multi-Tenant Editorial Workflows

The platform supports multiple publications as tenants, each with their own editorial team, content, subscriber base, and billing plan. Role- based editorial workflows (writer → editor → publisher) are enforced per tenant. SEO routing — slugs, canonical URLs, structured data — is handled at the application layer.

Subscription Billing

Subscription plans (monthly/annual, article-level paywalls) are managed per tenant with automated renewal, payment failure handling, and reader-facing subscription management. Billing events are processed asynchronously to keep the read path fast.

Infrastructure

Deployed on AWS with Nginx as the reverse proxy, Let's Encrypt TLS, and a CI/CD pipeline for zero-downtime deploys. Application and cache layers are decoupled so either can be scaled independently based on traffic patterns.

Tech Stack

  • Backend: Laravel, PHP 8, MySQL 8
  • Cache / Pub-Sub: Redis
  • Realtime: WebSockets (broadcasting)
  • Infra: AWS VPS, Nginx, CI/CD