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]
}