A leading telecom operator in the Gulf region needed to consolidate its enterprise offering into a unified digital experience — one that could handle complex business products, dynamic quoting, and deep CRM integration while remaining manageable for non-technical content teams.


The challenge

Enterprise telecom products are inherently complex — tiered packages, custom quotes, multi-step onboarding, and deeply integrated sales pipelines. The client’s existing web presence couldn’t reflect this complexity in a way that was either helpful to business customers or maintainable by the internal team.

  • Content editors lacked structured tooling, leading to inconsistent product pages across the site
  • No authentication layer meant personalisation and business portal features were impossible
  • Lead data was siloed — the website had no real connection to the sales CRM or marketing automation
  • A legacy backend made pricing logic brittle and slow to update

Alt text


The approach: a three-tier architecture built for enterprise scale

Rather than a monolithic rebuild, the platform was designed as three distinct but tightly integrated tiers — each handling what it does best.

Content layer — Drupal 11

Drupal 11 serves as the headless CMS. The Paragraphs module provides a flexible, structured page-building system that content editors can use without touching code. Single Content Sync enables a proper UAT-to-production workflow so content can be reviewed and approved before going live. SVG support was added natively so the brand’s icon-heavy design system could be managed entirely within the CMS. The RESTful module exposes all content via API for the frontend to consume.

Frontend — Next.js

A React-based frontend consumes Drupal’s REST API. Server-side rendering handles performance, while incremental static regeneration keeps content fresh. The component library is fully custom, built to match each paragraph type defined in Drupal.

Business logic — Yii2

A dedicated Yii2 backend handles all pricing calculations, product configuration logic, and the bidirectional sync between the web platform and the client’s enterprise systems — Salesforce, Pardot, and an internal CRM. This keeps complex business rules out of both the CMS and the frontend.

Identity — SAML 2.0 SSO

Enterprise single sign-on is integrated across the full stack. Business customers authenticate once and carry their session context into personalised product flows and portal features.


Content architecture

One of the core deliverables was a content model that gave editors meaningful control without risking layout or design integrity. Paragraphs was configured with a library of locked-layout components — editors compose pages from building blocks rather than wrestling with freeform fields.

Single Content Sync enabled a proper staging-to-production workflow, so content could be reviewed and approved without direct database access. SVG support was added natively so the brand’s icon-heavy design system could be managed entirely within the CMS.


Integration: the website as a live part of the sales pipeline

The Yii2 backend acts as a middleware orchestration layer. When a business customer configures a product or submits a quote request on the frontend, that data flows in real time to Salesforce for CRM tracking, Pardot for marketing automation, and the client’s internal systems for provisioning.

This eliminated the manual handoff that had previously existed between web leads and the sales team — every interaction is now attributed, tracked, and actionable from day one.

The hardest part wasn’t the technology — it was making three separate systems feel like one coherent experience to both the end user and the content team.


Outcomes

AreaResult
Content modelSingle structured model spanning all enterprise product lines
Lead captureReal-time flow into Salesforce and Pardot — zero manual handoff
AuthenticationEnterprise SSO giving business customers a personalised portal experience
ArchitectureDecoupled tiers that can scale or evolve independently

Stack

Drupal 11 Paragraphs SVG Single Content Sync RESTful SAML 2.0 Next.js Yii2 Salesforce Pardot CRM



Drupal CMS: Travel eSIM E-commerce Platform

A Gulf-based telecom operator launched a consumer travel eSIM product targeting international travellers across 190+ countries. The platform needed to serve a globally diverse audience — in their own language — while keeping product content, destination listings, and marketing pages easy to manage for a non-technical editorial team.

My responsibility was the Drupal CMS layer powering the headless frontend.


The challenge

The product itself was straightforward — buy a data pack, install an eSIM, travel. But the content requirements were anything but simple:

  • Destination pages had to be maintained for 190+ countries, each with localised copy across multiple languages
  • The editorial team needed to publish and update content without developer involvement
  • Content had to be available via clean REST JSON APIs that the Next.js frontend could consume reliably
  • A structured migration from an earlier content setup was needed to establish a consistent, scalable model going forward

My role: Drupal CMS architecture and delivery

Multilingual content — English, Arabic, Hindi, Malayalam

The platform serves a diverse audience across the GCC and South Asia. Drupal’s multilingual stack — Language, Content Translation, Interface Translation, and Locale modules — was configured to support four languages with full RTL handling for Arabic.

Translation workflows were structured so editors could manage each locale independently without breaking the default content or other language variants.

Content modelling with Paragraphs

Rather than giving editors open text fields, the content model was built around Paragraphs — a library of reusable, structured components covering hero sections, destination cards, feature comparisons, FAQ blocks, and more.

This ensured the Next.js frontend always received consistently shaped data, regardless of who had edited the content or when. Editors composed pages from building blocks; they couldn’t break the layout even if they tried.

REST JSON API

All content — destinations, data packs, blog posts, static pages — was exposed through Drupal’s RESTful Web Services module as clean JSON endpoints. Field structures were designed in close coordination with the frontend team so the API contract was stable and predictable.

Migration

Existing content was migrated into the new structured model using Drupal’s Migrate module. This involved mapping legacy fields to the new Paragraph-based architecture, normalising inconsistent data, and validating translated content across all four locales before cutover.

Workflow and editorial tooling

Content Moderation and Scheduler were configured to give editors a proper publish workflow — draft, review, scheduled publish — without needing direct database access or developer assistance.


Outcomes

AreaResult
LanguagesFour-locale support (EN, AR, HI, ML) with RTL for Arabic
Content modelParagraph-based architecture covering all page and product types
APIStable REST JSON endpoints consumed by the Next.js frontend
MigrationLegacy content migrated and normalised into the new model
Editorial workflowFull draft-to-publish pipeline with scheduling

Stack

Drupal 11 Paragraphs RESTful Web Services Content Translation Migrate Content Moderation Scheduler Next.js (frontend, separate team)



Drupal CMS: Telecom Wholesale Portal

A Gulf telecom operator’s wholesale division needed a digital presence that could serve a global audience of carrier partners and enterprise clients — presenting services, insights, and thought leadership content in a way that felt authoritative and was easy to keep current. The platform is built on a decoupled Drupal + Next.js architecture; I was responsible for the Drupal CMS layer.


The challenge

Wholesale telecoms content sits at the intersection of technical depth and business credibility. The editorial team needed to publish services, news, insights, and long-form content without developer handholding — while the frontend team needed reliable, well-structured data from the API.

  • Content spanned multiple types: services, news articles, insight pieces, coverage maps, and supporting pages
  • Multilingual requirements across English and Arabic, including full RTL support
  • The existing content setup lacked structure, making the frontend integration inconsistent
  • Editors needed a proper workflow to stage, review, and schedule content without touching the database

My role: Drupal CMS architecture and delivery

Content modelling and Paragraphs

The content model was designed around discrete, reusable Paragraphs components — covering service cards, timeline entries (used for the company history section), stat blocks, rich text sections, CTA banners, and more.

This gave editors a structured toolkit to build and update pages while ensuring the API output remained predictable and consistent for the Next.js frontend to consume.

Multilingual — English and Arabic

Drupal’s multilingual modules were configured for bilingual operation with full RTL support for Arabic. Content types, fields, and Paragraph components were all made translatable, and the editorial workflow was structured so Arabic and English variants could be managed independently.

REST JSON API

Content was exposed via RESTful Web Services as structured JSON endpoints. Field naming and nesting were agreed with the frontend team upfront, keeping the API contract clean and stable across content updates.

Migration from legacy setup

Existing content was migrated into the new Paragraph-based model using the Migrate module — remapping legacy fields, normalising inconsistencies, and validating both language variants before the new platform went live.

Editorial workflow

Content Moderation was configured with a draft-to-review-to-published pipeline. Scheduler enabled time-based publishing for announcements and campaign content. Editors could manage the full content lifecycle without developer involvement.


Outcomes

AreaResult
LanguagesBilingual EN/AR with full RTL support
Content modelParagraph-based architecture across all content types
APIStructured REST JSON consumed by Next.js frontend
MigrationLegacy content remapped and validated across both locales
Editorial workflowDraft, review, and scheduled publish — no developer dependency

Stack

Drupal 11 Paragraphs RESTful Web Services Content Translation Migrate Content Moderation Scheduler Next.js (frontend, separate team)