Contexto
Tarjetly permite a profesionales y empresas crear tarjetas digitales personalizadas que reemplazan las tarjetas físicas. El dashboard centraliza la creación, edición y estadísticas de cada tarjeta. Fue mi primer SaaS B2B con pagos reales en producción.
Mi responsabilidad
Lideré la implementación full stack: UI del editor y paneles, API Laravel, autenticación, planes de suscripción y la capa de IA. No era un prototipo: había usuarios pagando y flujos donde un bug costaba dinero.
Reto técnico
Stripe exige consistencia entre planes, webhooks y estado interno. Un evento fuera de orden o un cambio de plan mal aplicado deja al usuario en un limbo. Además, la generación con Groq tenía que sentirse útil sin forzar prompts manuales al usuario final.
Decisión y trade-off
Prioricé webhooks idempotentes y un modelo de suscripción simple (pocos planes claros) frente a un billing engine demasiado flexible. Para la IA, usé datos estructurados del perfil (nombre, puesto, empresa) en lugar de un chat libre: menos magia, más resultados predecibles.
Ejecución
- Frontend React + TypeScript con estados de onboarding y checkout.
- Laravel + Sanctum + Spatie para auth y roles de equipo.
- Stripe Checkout + Customer Portal + webhooks.
- Groq para sugerencias de contenido.
- Playwright en los caminos críticos de registro y pago.
- Deploy en GCP (Cloud Run).
Resultado
Más de 200 usuarios activos, suscripciones funcionando de punta a punta e IA aplicada a un problema concreto del producto — no como demo.