Nancy Tours Costa Rica. .
Nancy guía Costa Rica desde 2010 con un modelo simple: propone tour + fecha tentativa, sale cuando llega suficiente gente. Su sitio anterior decía "Reservar" como si fueran eventos fijos — no era. Reconstruimos el sitio alrededor de su modelo real y le entregamos un admin que una persona de 62 años puede usar desde el celular.
Una operadora solo-guía. Un sitio diseñado para ella.
- Cliente
- Nancy Tours Costa Rica
- Industria
- Turismo guiado · Costa Rica (7 provincias)
- Año
- 2026
- Scope
- Pivot a marketplace + admin no-técnico + email infra + SEO + A11y
⚠ Métricas técnicas son reales del launch. Lead/booking metrics se llenan después del primer mes de uso.
El sitio anterior decía "Reservar". No era eso.
- 01Nancy opera con un modelo de "propongo, confirmo si llegan" — los tours se materializan cuando hay suficiente gente. El sitio anterior usaba "Reservar" como si fueran eventos fijos, lo que llevaba a la frustración del cliente cuando descubría que la fecha era tentativa.
- 02Nancy tiene 62 años, laptop del 2015, prácticamente cero familiaridad técnica. Cualquier admin off-the-shelf (WordPress, Wix, etc.) la habría dejado atrapada — necesitábamos algo diseñado específicamente para ella.
- 03Sin Search Console, sin schema, sin previews bonitos al compartir un tour en WhatsApp. El catálogo entero compartía el mismo og:image (un logo genérico), así que cuando alguien mandaba un tour por chat, no se veía nada de la experiencia real.
- 04Cero infraestructura de leads: cuando alguien sí se interesaba, no había forma de capturarlo de manera estructurada, ni de saber cuántos faltaban para confirmar el tour, ni de recordarle a Nancy quién quedó pendiente de contactar.
Costa Rica. Las 7 provincias.








4 decisiones que respetan a Nancy.
Marketplace de interés, no catálogo
Sustituimos "Reservar" por "Me interesa" en cada tour. Cada salida tiene cupo mínimo y máximo; el sitio muestra una progress bar pública ("4 de 6 confirmados") sin exponer nombres. Cuando se llega al mínimo, Nancy clic en "✓ Confirmar tour" y el público ve la fecha definitiva y un botón "Reservar". Como Kickstarter, pero para tours.
Admin diseñado para Nancy específicamente
Body 18px, tap targets 56-64px, labels en español plano ("Cuántas personas mínimo para confirmar" en lugar de "threshold"), preset pickers en lugar de campos libres, prompts brandeados en lugar de native browser dialogs. 7-day session TTL + 2-hour idle lock — entra una vez por semana sin re-loguear, pero si se olvida la laptop abierta queda protegida.
SSR per-tour para previews + SEO
Cada tour tiene su propio og:title, og:image, og:description y Twitter card via Vercel Serverless Functions que hidratan el HTML antes de servirlo. Schema.org TouristTrip + FAQPage + BreadcrumbList por tour. Cuando Nancy comparte un tour en WhatsApp, se ve el hero real, no un logo genérico.
Vanilla stack, cero lock-in
HTML + CSS + JS sin build step. Vercel Functions para SSR + Supabase para datos + Resend para email + ImprovMX para inbound. Cualquier dev que sepa editar un archivo HTML puede mantenerlo. Sin framework, sin webpack, sin riesgo de "el motor en el que está hecho dejó de existir".
9 piezas en producción.
- Marketplace público con cards dinámicas, state-aware (Buscando · Confirmado · Pospuesto · Completado) e interest modal con focus trap + progress bars accesibles
- Admin console en `/admin` con login + tour editor con preset pickers + leads view con WhatsApp deep-links + settings + listas — diseñado y testeado para una usuaria de 62 años
- Daily summary email a las 7am CR via Postgres pg_cron + pg_net.http_post → Resend — Nancy recibe cada mañana qué tours están listos para confirmar y qué leads no ha contactado
- Per-tour SSR de og:title + og:image + og:description + Twitter card via Vercel Serverless Functions — previews bonitos al compartir cualquier tour en WhatsApp / Facebook / Slack
- Galería por tour + lightbox fullscreen (ESC, arrow keys, swipe, neighbor preload, focus trap) + share button con navigator.share() nativo + fallback a WhatsApp / Facebook / X / Copy
- Mobile pass site-wide (375-414px breakpoints) — hero h1 36→32px, filter chips horizontal-scroll, lightbox 44×44 controls, FAB de WhatsApp con padding-bottom reservado
- A11y WCAG AA: interest modal con focus-trap + focus restore + role=alert errors, progress bars con aria-value, 44×44 tap targets, lightbox con keyboard nav
- Custom domain (nancytourscr.com) + email infra completa: Resend para outbound (DKIM/SPF/DMARC verificados) + ImprovMX catch-all para inbound (hola@, info@, todo cae en Nancy hotmail)
- Google Business Profile setup + Schema.org per-tour + sitemap dinámico generado por Serverless Function pulling from Supabase — listo para Search Console submission
“[TODO: 1-2 líneas de Nancy después del primer mes de uso — idealmente con un dato como "el primer mes ya hubo 8 personas interesadas en Chirripó".]”
¿Tu operación necesita lo ?
Si tenés un negocio donde la web pública miente sobre cómo realmente operás (precios variables, fechas tentativas, cupos mínimos, decisión a último momento), podemos auditarlo gratis en 48h y proponerte cómo el sitio puede contar la verdad sin perder conversiones.
