Adnexa
A 23-route advertising platform on the Next.js App Router, server-rendered and machine-readable end to end.
The engineering
Next.js App Router shipping React Server Components (the document carries a self.__next_f streaming payload), served over HTTP/2 with Brotli behind Hostinger's CDN (server: hcdn). Images run through the framework's optimiser and are content-negotiated to AVIF; a 32px wordmark comes back as 418 bytes. Social cards are generated at request time by an /opengraph-image route rather than maintained by hand.
In plain language
An advertising company's whole service catalogue — 23 pages of it — that search engines and AI assistants can read completely without running any JavaScript.
The problem
What needed solving
An advertising platform sells services a buyer has to understand before they enquire — media planning, programmatic, CTV, reporting. That argument only works if every page is reachable, readable and attributable, and most agency sites bury exactly that content behind client-side rendering where no crawler and no AI assistant will ever see it.
The approach
How it was built
Model the catalogue as real routes — services, industries, channels — rather than anchors on one long page, so each has its own URL, title and place in the sitemap.
Server-render on the App Router so headings and body copy are in the initial HTML, then let React Server Components stream the rest without blocking what a crawler reads.
Emit a full JSON-LD graph, including a genuine FAQPage with four question/answer pairs, so the pitch is machine-readable and eligible for rich results.
Generate social cards from a route instead of maintaining a folder of images that drifts out of date the first time a page is renamed.
Set the security and privacy headers at the edge, including opting the domain out of interest-cohort and browsing-topics advertising APIs.
The outcome
What it produced
- 23 routes, each individually crawlable and individually rankable.
- Images negotiate down to AVIF automatically, at a fraction of the byte cost.
- The company's identity, address and FAQ are declared in structured data rather than left for a model to guess.
Related work
Other builds with the same shape
This project sits under Web development. Here are the closest neighbours in the portfolio.
- Marketing & Agency2026
Cloud Media Group
EngineeringDeliberately frameworkless: the homepage is 12 KB of hand-written HTML with a single 3.2 KB script carrying no framework runtime at all — no React, Vue, jQuery or Angular string appears in the bundle. Twelve routes including a solutions tree and an interactive ad-revenue calculator, served over HTTP/2 with Brotli behind
server: hcdn, with/cmsredirecting to an authenticated login.In plain termsA publisher-services site that loads almost instantly on any connection, and a private admin area behind it for the team to manage content.
- Hand-written HTML
- Vanilla JavaScript
- Custom CMS
- HTTP/2 + Brotli
Read the case studycloudmediagroup.in(opens the live site in a new tab) - Marketing & Agency2026
Influence Axis
EngineeringNext.js application (
x-powered-by: Next.js,_nextasset routes) served behind LiteSpeed, with an Organization + WebSite + PostalAddress JSON-LD identity and a disciplined document outline — one<h1>carrying the positioning statement, section<h2>s beneath it.In plain termsA brand site that reads like the agency it is selling — sharp, fast, and unmistakably positioned in the first line.
- Next.js
- React
- LiteSpeed
- JSON-LD / Schema.org
Read the case studyinfluenceaxis.in(opens the live site in a new tab) - News & Publishing2026
CarbonMedia
EngineeringRuns on PHP 8.2.30 (declared in
x-powered-by) — a maintained, current runtime rather than a legacy 7.x install — serving a custom news application with three reader-facing forms, GA4 propertyG-BVNH0Z14GMand AdSense inventory, with WebSite + SearchAction JSON-LD.In plain termsCovers news, business, tech, sport and politics under one brand, and lets readers search and subscribe without leaving the page.
- PHP 8.2
- Custom CMS
- GA4
- Google AdSense
Read the case studycarbonmedia.in(opens the live site in a new tab)