An airline’s marketing team publishes without a developer
Every banner, route page and campaign on the airline’s site used to go through a developer. We rebuilt the platform so the marketing team publishes directly, and so the parts that sell tickets stay out of reach.
The situation
The public site for Cyprus Airways: route and destination pages, fares, live flight status and the way into booking, in English, Greek and Russian. People who are not developers update it every day. We delivered it with ThinkCRM.
What made it hard
Editorial freedom and a ticket-selling site pull in opposite directions. Give editors real page-building power and they can break the booking path. Lock it down and every banner is a developer ticket again.
What we did
- Split the platform in two. A trusted side holds the CMS and the database. The public side holds no database and no credentials, and receives content over HTTP only.
- Built one library of page blocks that feeds both the editor preview and the live site, so what an editor sees is exactly what publishes.
- Let staff sign in with the accounts they already have, through single-use tokens from the airline’s CRM. Before connecting it, we hardened that CRM’s login.
- Set up languages for growth, with machine translation behind an allow-list that fails closed, so nothing unapproved is sent out for translation.
- Put fares, schedules and flight status behind validation and their own failure path, so an outage upstream affects one section, not the page.
- Load-tested the site before launch against a two-second target, and it held with no errors.
Before and after
What we would do differently
We now treat the time from “publish” to “visible” as a performance target from day one, next to page speed. Editors judge a CMS by how fast their change appears, and that deserves the same attention as the visitor’s load time.
Built with
Payload · Next.js · Puck · PostgreSQL · Redis · TypeScript
More for Cyprus Airways
Ready to build something great?
Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.
