DEV AIO SOFT
All work
Shipped · live in productionCase study

Gaming media

Elite Gamers

An Arabic-first gaming publication, with the theme written from scratch

Visit elitegamers.netWebsite byDEV AIO SOFT

The problem

Arabic-speaking gamers read their news and reviews through interfaces built for English first, where right-to-left is an afterthought. A publication for them needed nine kinds of content, a review score its editors could trust, and search that works the way Arabic is actually typed — none of which arrives in a theme you can buy.

The result

A theme written end to end: nine content types, four taxonomies, a weighted multi-axis rating engine with a single source of truth, a command palette with Arabic search folding, and a live Arabic / French / English toggle.

What was built

  • Nine content types built around how a publication is actually edited: reviews, videos, esports events, hardware, guides, films and series, anime and manga, galleries and partners
  • Four taxonomies attached per content type, so a film carries genre and franchise but not a console
  • A weighted multi-axis review score with one source of truth, so the score ring, the stars, the archive cards and the structured data can never disagree
  • A command palette with Arabic orthographic folding, so a reader searching without diacritics still finds the article
  • A live Arabic / French / English toggle, with no page reload
  • Right-to-left by construction rather than patched on afterwards
  • Twelve hand-written Schema.org types, with no SEO plugin in the theme
  • A 147-token design system across matched dark and light themes, every colour pairing measured rather than eyeballed
  • Twenty-six self-hosted subset typefaces, so no visitor is handed to a font CDN
  • No build step: deployable by copying a folder, and still editable years from now

The situation

Arabic-speaking gamers read their news through interfaces built for English first, with right-to-left bolted on afterwards. And no theme you can buy carries a publication's nine kinds of content, or a review score its own editors can trust.

Underneath that sat the real constraint, which is the one that decides whether a publication survives: it is edited every day, for years, by people who are not developers.

The decision that shaped everything else

A WordPress theme written end to end rather than a magazine template configured. For a site whose entire value is an archive that keeps growing, that is a decision about the next three years rather than the first month. Templates are the right answer for a lot of projects; for this one it was not.

What that bought, and what it cost, is set out in full below.

Audited before it shipped

The build was feature-complete, which is normally where a project ships. This one went through a forensic review of its own codebase first, across eleven areas, and every confirmed finding was fixed before launch. None of them were critical, and none of them were visible from the front end — which is the entire point.

It caught a pagination helper that had silently disabled load-more site-wide while its own comments still claimed it worked; a structured-data escape function that was a documented no-op; a link selector that had never matched a single element since the day it was written; and a reading-time estimate that was counting Arabic roughly four times over.

That is the class of defect that ships, sits there, and becomes whoever maintains the site next year's problem.

The constraints

What was refused.

Three rules set before the first commit and held to the last one. Each cost more to keep than to break, which is the only reason they are worth stating.

No plugin the theme depends on

Nothing to buy, renew, or have break underneath you.

Custom fields are native WordPress post meta with hand-built meta boxes. Structured data, image handling, newsletter capture and the editorial tooling are all first-party theme code.

  • A theme leaning on five plugins inherits five upgrade paths, five security surfaces and five licences. This one inherits none of them.
  • The client has since installed a contact form and other tools on top — their call. The theme neither requires them nor breaks with them.

No external request from the theme

Nothing about a reader is handed to a third party.

Every typeface is self-hosted and subsetted: twenty-six files, 468 KB in total. No font CDN, no third-party trackers, no external scripts from the theme itself.

  • Clean under privacy law by construction rather than by policy page.
  • Portable: it does not stop working because somebody else's service does.

No build step

Deployable by copying a folder, five years from now.

No bundler, no preprocessor, nothing to install in order to run or maintain it. Assets are enqueued properly, with an explicitly enforced dependency chain.

  • The reason is longevity rather than laziness: a toolchain is the first thing to rot.
  • A theme that needs one in order to be edited is a theme the next developer cannot safely touch.

Server-rendered first, throughout. JavaScript enhances this site; it is never required in order to read it.

What was built

Every component, written.

Nine content types, a scoring engine, a design system and a command palette — every component, every animation and every line of CSS written for this project.

The review scoring engine

The hard part of the build, and the part that had to be impossible to get wrong.

  • Weighted multi-axis scoring, with weights normalised by their own sum, so one axis can be weighted three times heavier without recomputing the rest.
  • All-or-nothing derivation: the weighted mean only takes over once every axis is filled, so a half-finished form can never silently rewrite a published score.
  • One source of truth feeds the score ring, the star row, the archive card pills, the sort order, search, the command palette and the structured data — so the ring and the stars cannot disagree.
  • Embargo enforced at the shared reader rather than per template, so an embargoed score cannot leak through a card, a search result or structured data.

Content architecture

Built around how a publication is actually edited, not around what a theme happened to ship with.

  • Nine public content types: reviews, videos, esports events, hardware, walkthrough guides, films and series, anime and manga, galleries and partners.
  • Four taxonomies attached per content type, so a film carries genre and franchise but not a console platform.
  • Custom archive templates, filter bars, load-more pagination, and dedicated empty-state, error-state and 404 components.

Right-to-left, by construction

Not an English site with an Arabic patch bolted on.

Arabic was the first language of the build rather than a translation layer added at the end.

  • Layout written in CSS logical properties throughout, so direction is a property of the document rather than a set of overrides.
  • Scroll and parallax animations read the document direction, so a directional animation does not run backwards in Arabic.
  • A command palette on a proper ARIA combobox, with Arabic orthographic folding across hamza forms, ya and alef-maqsura, and ta-marbuta — so a reader searching without diacritics still finds the article.
  • A live Arabic / French / English toggle that swaps authored content instantly, with no page reload.

Design system

147 tokens in three layers — primitive, semantic, component — across matched dark and light themes.

  • Every colour pairing was measured rather than eyeballed: the signature gold is theme-split precisely because one value measured 1.63:1 on white.
  • Semantic colours ship as triples — solid, subtle tint, ink — so text on a tinted background is always legible.
  • Four typefaces across Latin and Arabic, with locale-aware token remapping so Arabic copy picks up an Arabic display face automatically, and tabular numerals enforced on every figure.

Performance and accessibility

Measured first, then fixed — in that order.

  • The hero loads only the first slide eagerly; the rest paint on activation, prefetching the next during dwell. Roughly 1.7 MB of eager payload removed.
  • Photographic covers standardised after one shipped at around 1 MB per crop; reconversion cut it by about 80%. The logo went from 427 KB to 12 KB.
  • Reduced-motion honoured in every stylesheet and every script — every animation, without exception.
  • Skip link, managed focus, ARIA roles across twenty-plus templates, and contrast verified by measurement in both themes.

Search and structured data, first-party

Twelve Schema.org types, hand-written, with no SEO plugin anywhere in the theme.

  • Review, VideoObject, HowTo and HowToStep — walkthrough guides emit real step markup — plus SportsEvent, Organization, WebSite with SearchAction, BreadcrumbList, ImageObject, Person and Rating.
  • Custom canonical URLs, Open Graph and card generation, dynamic meta descriptions, breadcrumb trails and a filtered robots file.
  • Editorial by design: no prices, no buy links and no offers anywhere in the structured data.

By the numbers

What was delivered, counted.

PHP
~7,700 lines across 46 files
CSS
~4,400 lines across 16 stylesheets
JavaScript
~1,500 lines, 8 first-party modules
Design tokens
147, and roughly 200 custom properties in total
Self-hosted fonts
26 subset files — 468 KB
Content types
9 public, 1 private
Taxonomies
4
Schema.org types
12, hand-written
Plugins required
0 — none, for the theme to run
Build tooling
None. Deployable by copying a folder.

Built with

  • WordPress
  • PHP
  • JavaScript
  • GSAP
  • Schema.org

See it for yourself

Elite Gamers, built byDEV AIO SOFT

Visit elitegamers.net

Something like this?

Tell us what you’re trying to do and we’ll come back with a straight answer about what it would take.