
AI-powered travel planning made simple.
Client
Vespucci
Role
Full Stack Developer
Timeline
Launching Soon
Category
ai
PROJECT OVERVIEW
Overview.
Vespucci is a multi-tenant SaaS platform for travel agencies — built as a modular Go + React monorepo with 4 deployable services, 11 domain-driven modules, 4 platform services, and 7 shared packages. It handles trip planning, client CRM, double-entry accounting, AI-powered document extraction, supplier management, and reminder workflows — with LLM-powered intelligence via OpenAI and Gemini.
THE CHALLENGE
Travel agencies relied on fragmented tools — spreadsheets for finances, separate CRMs for clients, manual document handling, and no intelligent planning assistance. There was no unified platform that combined trip management, financial ledger, client CRM, document intelligence, and AI-powered content generation in one system.
Architected a full-stack modular monorepo with a Go backend (Gin + GORM + Redis), React 19 frontend with Redux Toolkit + React Query, AI-powered document extraction pipeline (LLM factory with OpenAI/Gemini, schema registry, confidence scoring, 33-step timeline), a double-entry financial ledger with state machine validation, Keycloak 23 for multi-tenant PBAC auth, and production deployment on AWS via Terraform and 7 GitHub Actions CI/CD workflows.
THE SOLUTION
Gallery.
Full platform walkthrough — 11 domain modules covering trip planning, AI document extraction (Foundry), double-entry ledger, client CRM, reminder derivation engine, and two-layer supplier catalog.
VideoMain dashboard with Recharts + Chart.js visualizations, KPI metrics, and quick-action navigation — built with 57+ shadcn/ui components and OKLCH color system.
Trip management with status lifecycle (Draft → Proposal → Open → Final → Closed), reference code auto-generation, multi-traveler support, and planner workspace auto-creation.
Canvas workspace with Tiptap (20+ extensions), CodeMirror for JSON/Markdown, AI-assisted generation via OpenAI/Gemini SSE streaming, resizable split view, and optimistic updates with rollback.
Client CRM with encrypted PII, contact points, passport management with expiry tracking, loyalty memberships, relationship tracking, and full-text Postgres FTS search.
Two-layer supplier catalog — 60+ global reference + organization-specific adoption with detection patterns, match keys (ABN, IATA, domain, tax ID), and gold standard classification.
Admin panel with PBAC permission management (resource:action codes), 4-role invitation system (Owner, Admin, Agent, Viewer), and organization-scoped multi-tenant configuration.
TECHNOLOGY
Tech Stack.
Frontend
React 19.1 + TypeScript 5.8
Core framework
Vite 7.1 (SWC)
Build tooling with hot module replacement
Redux Toolkit + Redux Persist
Client state management (19+ slices)
TanStack React Query 5.90
Server state, caching & infinite queries
React Router 7.9
Client-side routing
57+ shadcn/ui + Radix UI + Ariakit
Accessible UI component suite
Tailwind CSS v4 + SCSS + OKLCH
Styling with perceptually uniform color system
React Hook Form + Zod
Form management & validation
Tiptap (20+ extensions)
Rich text editor — collaboration, drag-handle, emoji, image, math, mentions, code blocks, task lists
CodeMirror 6
JSON and Markdown code editing
Recharts + Chart.js
Data visualization & charts
TanStack Table + TanStack Virtual
Tables with virtual scrolling for large datasets
Framer Motion 12
Page transitions with AnimatePresence + 8 custom keyframe animations
Embla Carousel
Carousel components
react-resizable-panels
Workspace split view layouts
cmdk
Command palette for keyboard-driven navigation
jsPDF + html2canvas + react-to-print
PDF generation and export
Sonner
Toast notifications with importance levels
Backend
Go 1.25
Primary backend language
Gin 1.11
HTTP web framework
GORM 1.31
ORM for PostgreSQL 16 with migrations
Redis 7
Caching & session store
Keycloak 23
OAuth2/OIDC with PKCE, hybrid Session + JWT auth
golang-migrate
Version-controlled database migrations
Swagger / swaggo
OpenAPI documentation auto-generation
AWS SDK v2 (S3, SQS, EC2, SSM)
Cloud service integration
golang-jwt v5
JWT token handling with refresh queue
OpenAI API + Gemini
LLM factory pattern for document extraction and trip planning
golangci-lint v2 (15 linters)
Code quality enforcement
testify + go-sqlmock
Backend testing with mocked database
Infrastructure & DevOps
AWS (EC2, ECR, S3, RDS, SQS, SSM, IAM/OIDC, CloudFront)
Cloud platform
Terraform (ECS, RDS, S3)
Infrastructure as Code
Docker multi-stage builds
Go alpine builder → runtime containers
GitHub Actions (7 workflows)
CI/CD — test, lint, build, deploy, release, validate migrations, validate docs
Semantic Release
Conventional commits, automatic changelog, GitHub releases
LocalStack
Local AWS emulation for development
Vitest + React Testing Library
Frontend testing with V8 code coverage
Sentry
Error monitoring and tracing in production
CAPABILITIES
Key Features.
Planner & Itinerary
AI Document Intelligence (Foundry)
Finance & Ledger
Client CRM (Hive)
Reminders & Suppliers
Auth & Multi-Tenancy
Trip Management
UI/UX & Frontend Architecture
INTELLIGENCE
AI / ML Pipeline.
Vespucci integrates AI at three levels: an LLM-powered document extraction pipeline with schema registry and confidence scoring, a trip planning engine with real-time SSE streaming, and developer tooling that automates PR generation, code review, and progress reporting.
Document Intelligence (Foundry)
OpenAI + Gemini (LLM Factory Pattern)AI-powered extraction pipeline for travel documents
- PDF ingestion → classification → schema-guided extraction → segmentation → validation
- LLM factory pattern with pluggable OpenAI/Gemini clients
- Schema registry with versioned canonical schemas and supplier templates
- Confidence scoring on extracted fields with 33-step extraction timeline
- SQS async processing with idempotent workers, retry mechanism (3 attempts), audit trail with token/latency metrics
Trip Planner AI
OpenAI GPT-4o-miniReal-time streaming content generation for trip planning via SSE
- Server-Sent Events for streaming AI responses to the frontend
- Context-aware prompts built from canvas content, selected text, and user input
- Custom plannerllm abstraction in Go — provider-agnostic (OpenAI + Gemini)
AI Developer Tooling
OpenAI (Node.js scripts)Automated PR generation, code review, and EOD reporting
- AI-powered PR creation analyzing git diffs for Conventional Commit-compliant output
- Automated code review with intelligent summarization
- End-of-day reports auto-generated from commit history
How It Works
The Foundry module uses an LLM factory pattern to abstract AI providers — documents are ingested, classified, and run through schema-guided extraction with confidence scoring across a 33-step timeline. The trip planner uses a custom plannerllm Go package that streams responses via Server-Sent Events. Developer tooling runs as Node.js scripts analyzing git history to automate PR creation, code review, and progress reporting.
IMPACT
Results.
ENGINEERING