DEV Community

So Voyage
So Voyage

Posted on

I Built SoVoyage.fr β€” A Travel Deals Site Using Astro JS, Markdown, Netlify CMS and Firebase

Hi everyone πŸ‘‹

I’m an indie developer and I recently launched SoVoyage.fr β€” a website that helps travelers find flight deals, promo codes, and low-cost airline offers, all in one place.

SoVoyage preview

The goal:

πŸ’‘ Make it easier for people to travel more for less β€” with clean, fast, and always up-to-date content.


🧱 How I Built SoVoyage

I wanted something fast, SEO-optimized, and easy to maintain β€” without relying on a heavy CMS or complex backend.

Here’s the stack I chose:

βœ… Astro JS

  • Static site generator β†’ fast and lightweight
  • Ideal for content-focused pages like travel deals
  • Full control over HTML, metadata, and SEO structure
  • I use SCSS with Bootstrap for styling and layout
  • Astro outputs static pages, while allowing interactivity where needed

I also integrated several helpful Astro modules:

These modules saved me a lot of time and helped ensure the final output is clean, fast, and well-structured.

βœ… Markdown for Content

  • Each promo or deal is written as a .md file
  • Super easy to edit, version, and deploy
  • Ideal for static rendering and SEO crawling

βœ… Dynamic Page Generation per Brand

Each airline or travel brand (Transavia, Ryanair, EasyJet...) has its own page, generated at build time from Markdown files.

That means:

  • I can add or edit content with just a text file
  • Astro builds individual, optimized pages like /code-promo/transavia/
  • Each page gets custom meta tags, structured data, and clean URLs

βœ… Netlify CMS

  • A lightweight admin panel for non-dev editing
  • Connected to Git + Markdown β€” no DB needed
  • Makes content updates super easy from the browser

βœ… Firebase for Brand Ratings

While most of the site is static, I use Firebase to store and display brand ratings (like user scores for each airline).

  • Ratings are pulled dynamically on the client side
  • Updates happen in real time without rebuilding the site
  • It keeps the site interactive without sacrificing speed

✈️ What’s On the Site?

  • βœ… Promo codes for airlines like Transavia, EasyJet, Ryanair...
  • βœ… Flight deals updated manually or automatically
  • βœ… Dynamic brand ratings via Firebase
  • All optimized for mobile, performance, and user clarity


πŸš€ What’s Next?

I’m working on expanding the site with destination pages, editorial content, and lightweight tools for budget planning.

πŸ’‘ The entire site is static, fully SEO-optimized, and passes Google PageSpeed Insights with a perfect score β€” 100 on all metrics, including mobile.

If you're building a content site, want to see how Astro performs in production, or just love smart travel deals, check it out:

πŸ‘‰ https://sovoyage.fr

Thanks for reading!

Top comments (0)