GBGregory Buffard

Business aviation · 2024 – 2026

A business aviation operator that publishes without a developer.

A decoupled monorepo: PayloadCMS 3 for the team, Next.js 15 for the public, and a GitHub Actions rebuild triggered on every publish.

Client
JetHouse
Sector
Business aviation
Year
2024 – 2026
Role
Full-stack development

EngagementAgence Malo

Context

JetHouse is a Malta-based business aviation operator (AOC MT-82), launched in 2024. Aircraft management, charter and consulting — with a fleet deliberately capped at fifteen aircraft and an experienced leadership team.

For a recent entrant, the website is the primary credibility asset. It has to be as considered as a printed brochure, and live without depending on a developer.

The challenge

  1. 01A high-end marketing site — photography, motion, typography — that the team can update alone.
  2. 02Living content: news, fleet, aircraft, categories, emergencies.
  3. 03A static front end, with no server to administer, but a reliable publishing chain.

What I built

01

Two apps, one monorepo

`admin/` for editing, `web/` for the public. Two independent deployments, one codebase to maintain.

02

Payload 3 on PostgreSQL

Jet, News, Media, Users, Category and Emergency collections. Media externalised to Vercel Blob, never in the repository.

03

Publish → rebuild

A Payload hook calls the GitHub API through Octokit on every publish and triggers the workflow that rebuilds the site. No fragile webhook, no technical intervention.

04

Transactional email

React Email and Resend for internal notifications, with versioned templates.

Architecture

  1. 01

    Payload admin

  2. 02

    Octokit hook

  3. 03

    GitHub Actions

  4. 04

    next build

  5. 05

    Vercel CDN

Stack

  • Next.js 15
  • React 19
  • PayloadCMS 3
  • PostgreSQL
  • Vercel Blob
  • GitHub Actions
  • Octokit
  • Resend
  • TypeScript

What's next

Add editorial preview before publishing and regression tests on critical journeys.

Transparency

No performance figures are published: audience and conversion data belong to the clients. The technical facts cited — versions, volume, languages — are verifiable.

A similar project?

Describe your context. I'll tell you what I would do, what I wouldn't, and in what order.

Next case study

FliteWatch — Next.js 16 and Payload 3.65 for a private jet operator.

All work