Desarrollo web full-stack — Astro, Next.js y Supabase.
La identidad de tu mascota, siempre con ella
Producto en producción. Autenticación con Supabase Auth (incluye OAuth con Google), tablas con políticas RLS por usuario, y un trigger de base de datos que crea el perfil automáticamente al registrarse.
Panel de cuenta y cartilla de salud
Cada mascota vive bajo el owner_id del usuario autenticado, aplicado por RLS a nivel de fila — el permiso no es un chequeo del cliente, lo hace cumplir la base de datos. La cartilla de salud (vacunas, desparasitación, controles) es una función premium con su propio gate de acceso, y cada registro es editable desde la misma vista.
Generación del carnet en PDF
El botón "Descargar carnet" dispara la generación de un PDF con los datos de la mascota y su historial de vacunas, leídos directo de las tablas protegidas por RLS — un usuario solo puede generar el carnet de las mascotas que le pertenecen. El resultado es un documento de una página, listo para compartir con un veterinario.
Tu plan no sale de una tabla, sale de tus datos
Landing + panel interno de coaching. Sitio estático en Astro; el panel usa JavaScript vanilla para captura de datos y generación de PDF, sin backend ni base de datos.
Panel privado del coach
El acceso está protegido por una validación simple del lado del cliente (sessionStorage) — suficiente para uso interno de un solo coach, sin necesitar autenticación real. Una vez dentro, el formulario captura plicometría, composición corporal, dieta por comida y rutina semanal por día, todo por cliente.
Generador de PDF 100% client-side
El plan del cliente se arma en el navegador con jsPDF — sin backend, sin llamada a servidor, sin almacenar datos en ningún lado. El layout completo (tablas, encabezados, paginación automática cuando el contenido no cabe en una hoja) se calcula en JavaScript vanilla al momento de generar el documento.
Un mismo trazo, tres manos distintas
Sitio estático en Astro, sin backend. Contenido y marca parametrizados vía brand.json — nada hardcodeado en los componentes.
Arquitectura del sitio
Componentes Astro reutilizables (Galería, Artistas, TarjetaPieza) reciben sus datos por props desde brand.json, sin texto ni rutas de imagen hardcodeadas. Build estático, sin JavaScript de cliente salvo donde es estrictamente necesario, optimizado para carga rápida en Cloudflare Pages.
Café de altura, de origen único
Mismo patrón de arquitectura que Materia Negra: sitio estático en Astro con contenido estructurado en brand.json, reutilizando el sistema de componentes del template Tier 1/2.
Sistema de componentes compartido
Header, Footer, Hero y las secciones de contenido son los mismos componentes base del template Tier 1/2 — lo que cambia entre proyectos es brand.json, no el código. Un mismo sistema, resultados visualmente distintos según los datos de marca de cada cliente.
Jonathan Alvarez — WhatsApp +52 56 2652 6998