Koora Show

An Arabic-first sports platform: live scores, match centre, competitions, players and a news desk, built and run by Black on Cloudflare.

Client
Koora Show, commissioned through Ahdaf
Industry
Sports media
Location
Saudi Arabia
Year
2026
Services
Product design · Arabic UX · Full-stack development · Data pipelines · Cloud infrastructure · SEO
Koora Show home page: live match strip, standings selector and news grid, Arabic right-to-left layout

Overview

Koora Show is a Saudi sports media brand with millions of followers on Snapchat and TikTok and no destination of its own. Commissioned by Ahdaf, the Saudi agency behind the brand’s channels, Black registered the domain, then designed, built and launched koorashow.com as an Arabic-first platform: matches, standings, competitions, teams, players and an editorial news layer, delivered as a production system rather than a template.

Challenge

Sports data arrives in English, from several providers, with gaps: no competition crests, missing player portraits, transliterated club names that read wrong in Arabic. The product had to feel native to a Saudi audience, load fast on mobile, and never show a blank panel when a provider is slow.

Approach

We built the product as a set of server-rendered pages on Cloudflare (Next.js 16, D1, Drizzle), with a data layer that reconciles providers, a curated Arabic-names pipeline covering 151 competitions, 1,646 teams and 48,000 players, and honest empty states for anything unconfirmed. Editorial content is ingested once, rewritten with guardrails, stored, and served as plain data. Every route carries its own metadata, RTL typography and cached rendering.

01 · digital

A match centre that reads right to left

Fixtures, live states, standings with season fallback, one-team-at-a-time lineups on a perspective pitch, shot maps sized by expected goals, head-to-head and key players. Arabic descenders are given room; numbers stay tabular.

Match centre with fixtures grouped by competition and a date strip
Koora Show home on a phone

02 · digital

Competitions, teams, players

A directory of 119 competitions with crests sourced from a secondary provider when the primary has none, team pages with squads and recent results, player pages with season statistics. Where data is unconfirmed the page says so instead of guessing.

Competitions directory with crests and regional grouping
News desk with lead story and feed

03 · technology

What runs underneath

Next.js 16 on Cloudflare Workers · D1 database with Drizzle migrations · provider reconciliation for scores, crests and portraits · Arabic-name curation importer (xlsx → SQL, idempotent upserts) · Gemini-assisted news rewrite at ingest with source-fidelity guardrails · YouTube and RSS integrations · 76 automated tests · per-route metadata, sitemap and robots · admin dashboard behind authentication.

  • 119Competitions with crests
  • 3,409Players mapped to portraits
  • 48k+Curated Arabic names
  • 76Automated tests

Start a project

Something similar in mind?

Tell us the client, the market and the deadline. We answer within a working day.

Beirut · Lebanon, the Gulf and remote. English, Arabic and French.