All projects

Gulf lottery · draws, commerce, compliance-aware flows

BIG lottery project in the Gulf

Full-stack lottery platform for the Gulf — tickets, wallets, draws, and compliance-aware journeys. Co-founder & CTO; I lead engineering and delivery end to end.

Production-grade online lottery for the Gulf: many game formats, ticketing, wallets, automated draw lifecycles, and customer-facing results — with operational alerting when publishing paths fail. Positioning is regional Gulf reach, not one emirate or city in isolation.

The stack pairs a modern customer web app with a Django service layer, async workers, real-time channels where it matters, and cloud-backed storage and notifications — sized for Gulf traffic peaks, multi-currency display, and the payment patterns common across the Gulf.

Next.jsTypeScriptReactDjangoDRFPostgreSQLAWS EC2AWS AmplifyRoute 53S3RedisCeleryChannelsMailgunFirebase AnalyticsGitHubPSPs

Highlight

BIG lottery project in the Gulf

Co-founder & CTO — I own technical direction, architecture, and delivery alongside the founding team.

Revenue: Approximate revenue band for the live product: about USD $15K–$20K per month (varies with seasonality, campaigns, and draw cycles — not an audited figure).

Overview

AWS footprint (what runs where)

AWS serviceRole in the product
Amazon EC2Django REST API, Django admin, Celery workers, supporting services
AWS AmplifyNext.js customer app — build, deploy, hosting
Amazon Route 53DNS, routing, health checks for cutovers
Amazon S3Static assets, uploads, exports, shared object storage

Overview

Integrations & tooling (categories)

CategoryHow we use it
PaymentsMultiple PSPs with a provider-agnostic integration layer
Transactional emailMailgun for tickets, auth, alerts, lifecycle mail
Product analyticsFirebase Analytics on the web experience
Backups & handoffDatabase dumps plus Google Drive for ops archive / handoff
Source & deliveryGitHub for code, reviews, and release rhythm

Overview

Core stack (app vs cloud)

AreaStack
Customer frontendNext.js (App Router), React, TypeScript, Redux, PWA (Serwist)
Backend & adminDjango, DRF, Celery, Redis, Channels
DatabasePostgreSQL
Object storageS3 (via boto3) — not a substitute for DB backups

Leadership & delivery focus (illustrative)

How I weighted time as co-founder / CTO — not logged hours.

Backend, draws & reliability35 %
Frontend, UX & performance28 %
Cloud, integrations & vendors22 %
Team, client & roadmap15 %

Revenue band vs reference scale (USD / month)

Bars show the stated band on a 0–25K scale for context only — not audited.

Typical lower month (~floor of band)15 K USD
Typical stronger month (~ceiling of band)20 K USD

Case study

Delivery & product depth

What you can do on the platform (Gulf product)

  • Play many game types aimed at Gulf players (quick picks, flagship draws, high-tier draws)
  • Use play, cart, account, and live results in one web experience
  • Buy and manage tickets with wallet-style balances
  • See automated draw schedules, publish windows, and winner-style outcomes
  • Read game rules, FAQ, policies, and marketing content in a consistent layout

Tech stack

  • Frontend: Next.js (App Router), React, TypeScript, Tailwind-style UI
  • Backend: Django for the admin panel and REST APIs (Django REST Framework), JWT-style auth
  • State: Redux with persistence; motion with Framer Motion
  • PWA: Serwist / service-worker tooling for installable, offline-friendly behavior
  • Async work: Celery, Redis, scheduled jobs (django-celery-beat)
  • Real-time: Django Channels (WebSockets) where live updates matter
  • Data: PostgreSQL; AWS SDK / boto3 for S3 and related object storage
  • Transactional email via Mailgun; other channels and programmable voice for urgent ops (e.g. draw not published)

Infrastructure & cloud services

  • AWS EC2 — backend deployment (Django API, admin, workers, and related services)
  • AWS Amplify — frontend deployment and hosting for the Next.js customer app
  • Amazon Route 53 — DNS, routing, and domain management
  • Amazon S3 — buckets for static assets, uploads, exports, and shared object storage
  • GitHub — source control, branching, reviews, and delivery workflow around releases
  • Multiple PSPs (payment service providers) — integrated for checkout and money-movement flows, with abstraction so we are not locked to one vendor
  • Firebase Analytics — product analytics, funnels, and behaviour signals on the web experience
  • Google Drive — part of the database backup and operational handoff / archive workflow (alongside automated dumps)
  • Mailgun — primary provider for transactional email (tickets, auth, alerts, marketing-style drips where applicable)
  • Plus logging, monitoring, secrets management, and other integrations as requirements grew — wired pragmatically rather than over-engineered on day one

Challenge — AWS account restriction & same-day migration

  • Our AWS environment was suddenly restricted; we had a tight window (on the order of ~6 hours) to restore a working backend and keep dependent services from failing.
  • I led moving the workload from the affected AWS account into a new AWS account — not just “spin up a server,” but DNS, data, frontends, and integrations in one coordinated cutover.
  • Migrated and re-pointed: EC2 (API, admin, workers), Amazon Route 53 records and hosted zones, S3 bucket data (copy/sync, policies, and access patterns), AWS Amplify for the Next.js frontend, and the surrounding cloud pieces (secrets, env, monitoring hooks) so behaviour matched production expectations.
  • After new compute came up, I updated third-party allowlists and IP whitelists — PSPs, webhooks, security appliances, and other vendors — so traffic to the new server and edge addresses was accepted without breaking payments or callbacks.
  • Ran focused smoke checks post-cutover (auth, payments, email, draw-related jobs) and stayed on comms with the client and vendors until the riskiest paths were green again.

How draws & operations work

  • Draw pipeline: schedule → process → publish, with clear guardrails
  • Wheel / reveal-style UX kept in sync with backend state
  • Prize distribution and notifications (email, Telegram-style channels)
  • Checks and alerts when draws fail to publish or stay unpublished
  • Cart, multi-currency display patterns, payments, KYC/AML-oriented account areas

My role & team (how we ship)

  • Co-founder & CTO: I lead the product technically end-to-end and still own hands-on full-stack delivery (frontend + backend)
  • I mentor 1 junior backend developer and 1 junior frontend developer
  • We collaborate with an SEO specialist and a designer
  • I manage the client, deadlines, budget, and the delivery pipeline day to day
  • I keep priorities clear under pressure and unblock the team
  • I take high-level technical and product decisions
  • I meet regularly with the client, payment providers (PSPs), and third-party vendors
  • I own reliability around draw automation and follow-through when publishing paths fail

Backend and platform architecture

Architecture

Backend & platform

Architecture & integration

  • Clear split between the customer Next.js app and Django APIs — transactional REST, WebSockets only where time-sensitive updates matter
  • Background workers kept separate from web processes for emails, draw jobs, retries, and housekeeping
  • Assets and uploads on S3-compatible storage with sensible permission and signed-URL patterns
  • Shared configuration and prize patterns reused across game families to avoid one-off forks

Compliance, content & trust surfaces

  • Legal, policy, FAQ, and game-rule pages share a consistent shell and accessible typography — tuned for Gulf-market clarity and repeat use across game families
  • Marketing and education content structured so SEO and design can iterate without breaking core flows
  • Account journeys include KYC/AML-oriented steps and payment edge cases without naming specific vendors — aligned with how Gulf-facing products typically handle risk and verification

Reliability, monitoring & runbooks

  • Management commands and ops hooks for one-off fixes, backfills, and reporting
  • Guardrails on draw publication and “still unpublished” detection with escalation paths
  • Programmable voice (and other channels) for highest-severity failures such as missed publishes
  • Defensive patterns on heavy tasks — memory awareness, circuit-breaker style backoff, and idempotent jobs

Stakeholders, cadence & leadership

  • Regular design and SEO syncs so launches stay on-brand and discoverable
  • Pairing and structured code review with junior engineers; clear Definition of Done before merge
  • Working sessions with the client and PSPs on payment behaviour, timelines, and trade-offs
  • Technical calls with third-party vendors for integrations, SLAs, and cutover windows

Interested in similar delivery?

Get in touch

Keep exploring

More work with a similar stack and delivery focus.

Banking UI demo · passkeys · transfers · statements · PWA

UmerPay

Open-source banking UI demo — passkeys, transfers, statements, admin tools. Full-stack Next.js you can clone and run.

Next.js 14App RouterTypeScript
View project →

Food delivery · React · NestJS · admin

Ghazi Restaurant

Online food ordering & restaurant management — React customer app, NestJS APIs, MongoDB, admin dashboards, chat, and maps. Technical Lead (40% coding, 60% leadership).

ReactNestJSTypeScript
View project →

Morocco · AI matchmaking · 100K users

Cuddloo - AI Match Making App

AI matchmaking and dating app for Morocco — Tinder/Bumble-style product with 100K users. I led Android (Kotlin), Node.js backend, PostgreSQL, web, iOS supervision, and AWS delivery.

KotlinAndroidSwift
View project →

© 2026 Umer Sheraz