GUIDE :: THE SYSTEM

What follows is a seven-chapter walk-through of how my thirteen-service travel platform is actually put together. I wrote each chapter after the code it describes had already been in production for some time, by reading the running configuration back out and turning it into prose, and I have tried to be honest throughout about why I made the choices I made rather than describing them as though they were inevitable.

7chapters
13services
119db tables
60workflows

01 :: CHAPTERS

01 / marketing-site

Marketing Site

The public face of TravelTamers, built on Astro 5 with React 19 islands for the interactive pieces, serving forty-three partner pages and twenty-five destinations behind a Pagefind search index and an Nginx cache tuned for long-lived asset URLs.

Astro · React · Tailwind
02 / hono-api

Hono API

The Hono server that sits above the databases, comprising thirty-three routers, Zod validation on every input, timing-safe webhook verification, idempotency middleware, Redis-backed rate limiting, and three distinct authentication domains.

Hono · TS · PostgreSQL · Drizzle
03 / n8n-automations

Automations

The n8n instance holds roughly sixty workflows organized across three tiers, including the daily social-content pipeline, lead scoring, nightly passport-expiration checks, booking cascades, and the proposal generation that runs after a deal closes.

n8n · Claude · Perplexity · FLUX
04 / nexus-crm

Nexus CRM

The customer-relationship platform I wrote to handle sales, marketing, and support for the travel business, with fifty-four tables, a five-tier role-based access system, BullMQ for background jobs, Socket.io for real-time updates, and a service desk and knowledge base attached to the whole thing.

Fastify · React · Redis · BullMQ
05 / groups

Groups

A smaller trip-planning application built around thirteen tables, with voting, itinerary legs, comments, and cover images generated on demand by Replicate's FLUX model. I develop it through an SSH tunnel into the VPS rather than locally.

Express · PostgreSQL · EJS
06 / infrastructure

Infrastructure

All thirteen Docker containers run on one VPS, routed by Traefik v3 with automatic Let's Encrypt certificates, deployed through GitHub Actions, backed up every six hours, and defended by the standard Ubuntu hardening of fail2ban, UFW, and key-only SSH.

Docker · Traefik · Ubuntu 24
07 / design-system

Design System

The tokens and component patterns that unify the look and feel of all thirteen services — colors, spacing, typography, motion timings, and the light and dark mode treatments — so that any piece of the platform feels like it belongs to the same system.

CSS · Fibonacci · Tokens