Ode To Paris

Ode To Paris screenshot
  • Project For:

    Ode to Paris (Paris walking tours)

  • Category:

    Full Stack Project

  • Tech Stack:

    Next.js, ReactJS, Node.js, MongoDB, AWS

  • Link:

€2,000+revenue generated
3apps: website + admin + Backend
EN · FRlanguages

A search-optimised booking website for travellers and an admin app to run tours, schedules and bookings, both powered by one Node.js backend.

Ode to Paris is a Paris walking-tour company whose small-group tours uncover the city’s royal affairs, political intrigue and hidden history. I designed and built the whole platform: the public website where travellers discover and book tours, the admin app the business uses to run day-to-day operations, and the Node.js backend behind both.

  • Public website: a search-optimised, server-rendered site in English and French, with tour listings and detail pages, bundles (“Packs”), a blog and a contact page. Every tour shows its duration, language, per-person price in euros and highlights, with a clear Book Now call to action.

  • Accounts and booking: travellers can sign up or log in and book tours online.

  • Admin app: a separate dashboard for the operator. It tracks weekly revenue, new customers, bookings and conversion, popular tours, and website visits (anonymous versus logged-in), with traffic by page and the latest bookings.

  • Schedule and capacity: a daily, weekly and monthly calendar of every tour time slot, with capacity per slot (for example 0/15) and open or closed states, alongside attendance and tour management.

  • Content management: tours and blog posts are managed from the same admin app, so the operator can publish them without touching code.

  • Node.js backend: one API serves both the public site and the admin app, covering tours, availability, bookings and payment tracking.

  • SEO by design: unique titles and descriptions per page, keyword-targeted metadata, Open Graph and Twitter cards, a sitemap and robots file, and a blog aimed at long-tail search.

Splitting the admin app from the public site kept the customer-facing pages fast and indexable, while the operator got tooling that can evolve independently of what travellers see. The design also leaves room for more guides, more languages and more tours.

The goals

Ode to Paris needed two things that pull in different directions: a public website polished and discoverable enough to turn search traffic into bookings, and back-office tooling practical enough to run several tours a day without friction. I treated them as two products on one backend.

  • Get found: rank for searches like “Paris walking tours”, “Napoleon Paris tour” and “small group Paris tours”.

  • Convert: let a traveller compare tours, pick a time slot and book in a few steps, in English or French.

  • Operate: give the operator one place to manage tours, time slots, capacity, bookings and content.

  • Learn: show what is working, with revenue, bookings, conversion, popular tours and where visitors go.

The public website

Travellers browse a catalogue of themed walking tours. Each tour card shows its duration, language and price per person in euros, followed by a short list of highlights and clear Book Now and View Details actions. The catalogue currently covers stories from across French history:

  • Romans, Franks and Carolingians: the ancient roots of France and figures like Julius Caesar and Charlemagne.

  • French Monarchy Intrigues (“Game of French Thrones”): royal plots and family feuds that shaped French history.

  • Napoleon’s Strategies and Napoléon III, the Forgotten Emperor: military genius and the rebuilding of Paris.

  • Révolution(s): the ideas and hotspots of Paris’s revolutionary past.

  • Scandals: the darker side of the City of Light.

The admin app

The Tour Management Admin App is where the business actually runs. Its dashboard summarises weekly revenue, new customers, bookings and conversion, with charts for popular tours, website visits split between anonymous and logged-in users, traffic by page and the latest bookings.

The schedule view lays out every tour’s time slots by day, week or month. Each slot shows its capacity (for example 0/15 or 0/10) and whether it is open or closed, so the operator can see availability across all tours at a glance. Separate sections cover attendance, tours and blog content.

Built to be found

Because organic search is the main way small tour operators reach travellers, discoverability was designed in rather than bolted on. Every page ships with its own title, description and keyword-targeted metadata, Open Graph and Twitter cards for link previews, a sitemap and a robots file, and there is a blog for long-tail searches about the history behind the tours. The public site is built with Next.js so this metadata is present in the server-rendered HTML that search engines read first.

How it fits together

The public website and the admin app are separate front ends, so each can change without risking the other, and both talk to a single Node.js API backed by MongoDB and hosted on AWS. That one API owns tours, availability, bookings and payment tracking, which keeps the rules in one place no matter which app makes the request.

Paris, as it was

Paris was the stage for centuries of royal intrigue, revolution and reinvention long before it was ever filmed. This restored, colourised footage from around 1899 shows the city at the height of the Belle Époque, in the Paris that Napoleon III and Haussmann had rebuilt, and gives a glimpse of the world the tours bring back to life.

Video: “Belle Époque Paris c.1899: 4K Colorized Film w/ added sound” by Glamourdaze, via YouTube. Not affiliated with Ode to Paris.

Results

The platform is live at odetoparis.com and has generated €2,000+ in revenue for the business, with tours, schedules, bookings and blog content all run from one admin app.

  • Ode to Paris tour catalogue showing duration, language and per-person price for each walking tour
  • Tour management admin dashboard with weekly revenue, bookings, conversion and website visits
  • Admin app weekly schedule showing tour time slots and capacity per slot
  • Ode to Paris homepage section on Napoleon, the French monarchy and revolutionary Paris