Editorial / city-guide network · Case study
One author, every city: the Citorah network
A single-author city-guide network on Next.js, seven cities from one codebase, with a live TicketWave event feed and a radical-transparency editorial standard.
- Next.js on Vercel London (lhr1)
- Path-based multi-tenancy (citorah.com/{city})
- Edge cache + stale-while-revalidate (s-maxage=60, SWR=600)
- Cron-revalidated TicketWave HQ event feed
- OpenStreetMap / Google Places API
- Geolocation Permissions-Policy (self only)
- Templated category + itinerary pages
- Single-sender newsletter
The hero on a Citorah city page is the case study. “Everything worth doing in London, 2026”, and then, six lines down: “I haven’t been to London yet. Guides here are research-led until I have.”
That second line is the entire strategic point. It is a single-author travel network that opens by telling you what its author has and has not done, and then earns your trust anyway. This study is about how we built a seven-city editorial brand that one person can actually maintain, wired to real bookable inventory, without a single marketplace middleman in the path.
The problem: honest editorial in a dishonest category
Travel editorial in 2026 is a Wild West of fake “curated” content, AI-generated lists, affiliate-stuffed “top 10s”, and scraped TripAdvisor copy. The dominant content pattern is dishonest by design. The reader cannot tell what is paid, what is real, and what was written by someone who has actually been there.
Citorah answers that with its opening line. Each city home page starts with a single sentence of self-disclosure, and from that one sentence the reader knows immediately:
- The content is editorial, not paid
- The author is one person
- “Research-led” means open data, named sources, and humility
- When the author has been to a place, they will say so
It is the Bourdain move. The credibility comes from admitting what you do not know, then doing the work anyway. Trust compounds because the contract is honest from line one. Our job was to build a platform that could carry that voice across seven cities without diluting it, and without turning it into a full-time job for one writer.
The challenge: seven cities, one author, one voice
The strategic constraint is unusual. Most directory networks scale by adding contributors, and the moment they do, the single opinionated voice that made them worth reading dissolves. Citorah is the opposite bet: one author, every city, on the same editorial standard, forever. That only works if the machinery underneath removes as much repeat labour as possible, so the author spends their time judging places rather than rebuilding pages.
So the brief was really an architecture problem dressed as an editorial one. How do you let one person run London, Barcelona, Ibiza, Madrid, Lisbon, Greece and Dubai as if each had its own editor, from a single codebase, with the writing effort scaling by listing rather than by city?
The approach: one codebase, path-based multi-tenancy
Citorah is a seven-city network served from a single Next.js codebase, with path-based multi-tenancy at citorah.com/london, citorah.com/barcelona, citorah.com/ibiza, citorah.com/madrid, citorah.com/lisbon, citorah.com/greece and citorah.com/dubai. There is no separate domain per city, no duplicated deployment, no drift between one city’s template and the next. The aggregated brand is a personal travel-and-recommendations network: Bourdain-across-cities, single voice, opinionated.
The architectural choice that makes the single-author model viable is aggressive content reuse. A category page (Restaurants, Fine Dining, Cafés, Boat Parties, Yoga, Wellness/Spa) is the same shape in every city; the listings are the variable. A “4 days in [city]” itinerary follows the same template. The author writes the schema once and fills cities into it. Moving the whole network onto one citorah.com/{city} codebase, rather than a separate domain per city, is what keeps seven cities maintainable by one person, and it is the same templated-spine pattern we use for the industry and location pages on the UK Web Marketing site.
What we built into each city
- 9 venue categories: Fitness, Tours, Restaurants, Cafés, Fine Dining, Beach Clubs, Wellness/Spa, Yoga, and Boat Parties
- Curated listings, each with author notes, opening hours, a price band, and a “why I picked this” rationale
- Long-form itinerary guides, where “4 Days in London 2026” reads like an editorial feature, not an SEO long-tail trap
- A live event feed via TicketWave, bookable inventory wired in from the sister platform, with a 5% affiliate commission per ticket disclosed on the home page
- A “top-rated” filter at four and a half stars or above, so the directory respects Google Maps consensus alongside the editor’s opinion
- A newsletter with a single sender, no cadence promises, and no inbox spam
- Geolocation-aware browsing, where
permissions-policy: geolocation=(self)is set so “near me” filtering works without sending a reader’s location off-device
The performance choice: 60-second edge, 10-minute SWR
The Cache-Control header is the architectural giveaway: public, s-maxage=60, stale-while-revalidate=600.
That is a 60-second edge cache with a 10-minute stale-while-revalidate window. The rendered page sits in Vercel’s London edge for a minute; if a request comes in after expiry, the edge serves the stale page immediately and revalidates in the background. Within 10 minutes of the last fetch, no request ever waits on a server roundtrip.
For editorial content that updates a few times a day (new listings, edits to existing ones, an event-feed refresh), a 60-second edge cache plus a 10-minute SWR window is the right knob to turn: the site feels live, and it costs almost nothing to serve. A city home page loads in well under a second from a nearby IP. It is the same edge-caching discipline we bring to every small-business site we build, and it is the difference between a properly managed site that feels fast and a free template that feels sluggish.
The TicketWave event feed: platform pedigree as architecture
The event listings on Citorah are not a standalone CMS. They are a live feed from the TicketWave HQ platform, pulled at build time and revalidated on a cron. A venue that lists on TicketWave for a specific event automatically appears in that city’s event grid, with a deep-link to the venue’s white-labelled booking page.
That is the platform-pedigree story expressed as architecture: same company group, two surfaces (the editorial recommendation and the bookable inventory), connected without a third-party affiliate network in the middle. The editorial side stays honest because the commercial side is owned, disclosed, and thin.
Anti-marketplace, anti-middleman
The footer copy makes the positioning explicit: “No booking middlemen. No marketplace markup. No resold tickets.”
Every booking link points to the venue’s own white-labelled booking page via TicketWave. Every restaurant link points to the restaurant’s own site. There is no GetYourGuide affiliate, no Viator wrapper, and no Klook commission rail. The 5% affiliate cut on TicketWave bookings is the only commercial flow, and it is disclosed on the home page. The positioning and the plumbing agree with each other, which is the whole point: a reader can verify the claim by following any link.
What UK Web Marketing takes from this build
Three patterns from Citorah transfer directly to the sites we build for small businesses:
-
One-author content scale via templated category pages. The same editorial spine reused per city is how the industry and location pages on the UK Web Marketing site work too: each shares a template, and you swap the specifics rather than rebuilding the page.
-
Aggressive edge caching for editorial content. The 60-second-plus-SWR pattern is what every small-business blog should use. It is the difference between a properly managed site that feels fast and a free template that feels sluggish.
-
Radical transparency as positioning. “I haven’t been to London yet” is the hero that converts trust-conscious readers. The equivalent on a site we build is “bespoke, built in the open, quoted to your brief.” Both work for the same reason: they say the honest thing first.
If you are building an editorial brand, a directory, or a curated network of local content, get in touch. The Citorah pattern is replicable, and we have already built it once.