Trabajo
ClienteCliente · Consultora de crecimiento comercial
Brainstorming

Brainstorming

Web, blog y sitio para clientes de EE. UU. de una consultora de crecimiento comercial, migrados de WordPress a Astro con backend serverless.

Ver sitio en vivo

Captura de Brainstorming (1/3)
Captura de Brainstorming (2/3)
Captura de Brainstorming (3/3)
SYSTEM.md

El problema

Una consultora con tres sitios necesitaba una base mantenible, bilingüe y protegida contra spam, sin depender de WordPress.

Qué construí

Migré los sitios a Astro con diseño a medida. El backend serverless usa PostgreSQL, caché en Upstash Redis y correos transaccionales con Resend y React Email. El contenido se gestiona con un CMS a medida que también construí.

Resultado

Tres sitios sobre una misma base técnica, con contenido editable desde el CMS propio.

Decisiones que importaron

  1. 01

    Formularios protegidos

    Cloudflare Turnstile protege cada punto de contacto; Resend envía la notificación interna y la confirmación al visitante.

  2. 02

    Errores con contexto

    Sentry registra errores y logs con su contexto, mientras los mensajes que ve el usuario se mantienen genéricos.

  3. 03

    Visible para buscadores y para el negocio

    SEO técnico con robots.txt y sitemap.xml, Google Analytics y Tag Manager, e internacionalización español e inglés.

Tecnologías

  • Astro
  • TypeScript
  • PostgreSQL
  • Upstash Redis
  • Resend
  • Turnstile
  • Sentry

Modelo C4. La línea con pulso es el recorrido principal de una solicitud.

Nivel 1 · quién usa el sistema y con qué se conecta

HTTPS1siteverifyHTTPSRESTHTTPSVisitanteLee y contactaSitios deBrainstormingWeb, blog y sitio de EE.UU.Turnstile[Cloudflare Turnstile]Protección antibotsResend[Resend]Notificación y confirmaciónCMS a medida[CMS a medida]Contenido editableSentry[Sentry]Errores y logs

Nivel 2 · las aplicaciones y almacenes que lo componen

HTTPS1REST · buildPOST ·JSON2siteverify3SQL4cacheReact EmailHTTPSCMS a medida[CMS a medida]Contenido editableResend[Resend]Notificación y confirmaciónTurnstile[Cloudflare Turnstile]Protección antibotsVisitanteLee y contactaSitios[Astro · Vercel]Web, blog y sitio de EE.UU.Backend serverless[Funciones serverless · Vercel]Formularios y datosPostgreSQL[PostgreSQL]Datos de los sitiosSentry[Sentry]Errores y logsUpstash Redis[Upstash Redis]Caché y límites

Nivel 3 · los componentes dentro de la API

pipelinepipelinepersist1notify2SQL3HTTPS4rate limitsiteverifyVerificaciónantibots[siteverify]Valida el token deTurnstileLímite desolicitudes[Upstash ratelimit]Por visitante, con RedisValidación[validation]Datos del formularioRepositorio[repository]Guarda el contactoTurnstile[Cloudflare Turnstile]Protección antibotsUpstash Redis[Upstash Redis]Caché y límitesCorreos[React Email]Plantillas con React EmailPostgreSQL[PostgreSQL]Datos de los sitiosResend[Resend]Notificación y confirmación
  • Persona
  • Sistema
  • Contenedor
  • Base de datos
  • Externo
  • Recorrido principal
  1. 01Visitante
  2. 02Astro
  3. 03Turnstile
  4. 04API serverless
  5. 05PostgreSQL
  6. 06Resend

CV

Descarga mi CV

Déjame tu correo y te envío el CV ahí. Primero verifico que el correo es tuyo con un código.