Storefronts
2024 — Present GoViajes
AI-Powered Travel Agency
Production-grade travel agency storefront — ~21.5K lines across 61 files. 18 destinations, 63 trip packages, 28 routes (ES/EN), 9-page admin CMS with CRM, AI chat via Llama 3.1, and deep Cadences integration.
Year
2024 — Present
Role
Full-Stack Developer
Tech Stack
7 technologies
The Challenge
- Travel agencies need modern, fast websites with rich destination catalogs, itinerary builders, and lead capture — without managing separate CMS, CRM, and AI tools
- Content must be bilingual (ES/EN) with SEO-optimized hreflang routing and canonical URLs
- Admin team needs a full CMS to manage destinations, trips, experiences, itineraries, and leads without touching code
The Approach
- Astro SSG storefront connected to Cadences as single backoffice — content from DATA_TABLE, leads into CRM, automation via workflows
- Hybrid data strategy: static TypeScript data files as fallback + API-fetched data from Cadences at build time via prebuild script (305 lines)
- Cadences SDK client (361 lines) with singleton pattern, in-memory caching (5-min TTL), and full CRUD operations
- Storefront template architecture supporting multiple verticals (travel, clinic, restaurant, realestate) with type-specific configs
The Solution
- ~21.5K lines across 61 source files — 28 routes (18 ES + 10 EN), 15 components, 1 React island
- 18 destinations, 63 trip packages, 7 experience categories — with day-by-day itineraries, pricing, includes/excludes
- 9-page admin panel: dashboard with KPIs, leads CRM (1,713 lines) with hot/warm/cold scoring, CRUD for destinations/trips/experiences/itineraries, storefront config
- AI Chat via Cloudflare Workers AI (Llama 3.1 8B Instruct) — context-aware with catalog knowledge, 300 max tokens
- Full i18n: route translation, content translation (2,368 lines of translations), hreflang + x-default SEO tags
- React SearchBox with text normalization and fuzzy matching across destinations and trips
- 9+ backend endpoints in ProjectOS for CMS CRUD, lead submission, AI chat, deploy triggers, and public APIs
- D1 database with dedicated tables for destinations, trips, experiences, highlights, and trip-experience relations
Key Results
- ~21.5K lines across 61 files with full ES/EN bilingual support
- 18 destinations, 63 trip packages, 7 experience categories
- 9-page admin CMS with full CRM and lead scoring
- AI chat via Llama 3.1 8B with catalog context
- Prebuild data sync from Cadences API
- Static SSG with 1-2 min auto-deploy on content changes
Tech Stack
Astro 4.x React 18 Tailwind CSS 3.4 TypeScript 5.6 Cloudflare Pages D1 Workers AI
$ cat project.json
{
"name": "GoViajes",
"status": "production",
"stack": [7],
"url": "goviajes.cadences.app",
"results": [6]
}