Loading content…

Ahead Vision

Brand website, full-stack

Details Website and content management system for Ahead Vision, an Italian company bringing a new approach to Out of Home advertising. The goal was a site that feels editorial and premium rather than templated, while staying fully editable by the client. Everything - pages, projects, blog and news posts, team members, SEO metadata - is managed from a custom admin panel, with no developer involved after launch. Built as a monorepo holding both the public site and the CMS. Stack used: Astro 5, React 19, Chart.js, Payload CMS 3, Next.js 15, TypeScript, Cloudflare Workers / D1 / R2

Technical overview Front-end is built with Astro 5 in SSR mode, with React 19 islands for the interactive parts. Server-side rendering on every request means content published in the CMS is live instantly, with no rebuild or redeploy. Back-end is Payload CMS 3 on Next.js 15, fully typed in TypeScript, with collections for pages, projects, blog posts, categories, team members, media and contact submissions, settings and per-page SEO. Infrastructure Both apps are deployed as separate Cloudflare Workers (the CMS through OpenNext). Database on Cloudflare D1 with versioned migrations, media on Cloudflare R2. In production the front-end reaches the CMS through a Cloudflare service binding, worker-to-worker, skipping DNS entirely for lower latency. Proud to say that the full stack can run at €0/month on Cloudflare's free tier.

Design Nothing came out of a UI kit. The whole interface is written by hand on a small set of design tokens (colour, type scale, spacing, container widths), and every section was reviewed and adjusted manually: spacing, line lengths, optical alignment, motion; Until it matched the design code we'd defined for the brand.

Work section (projects page) The Work section is the case-study archive: showing every campaign Ahead Vision has run, each card showing client, title, a short excerpt and the city it took place in, over a hero image pulled from the CMS. Everything on the page is editable from the CMS, including per-project SEO metadata and Open Graph image, with a draft/published toggle so campaigns can be prepared before going live.

For a full on experience I suggest you try it for yourself