Análisis técnico de mi aplicación Feedback Sass

Análisis técnico del backend de una app Feedback SaaS: arquitectura, transacciones Prisma, manejo de CSV, invitaciones, cuotas, colas y escalabilidad.

8 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Análisis técnico de mi aplicación Feedback SaaS y optimizaciones de backend

En este artículo describo la arquitectura del backend de una app para recopilar feedback segmentado y las decisiones técnicas que tomé para mejorar rendimiento y escalabilidad. La aplicación funciona de forma similar a un formulario pero orientada a invitar grupos concretos por correo mediante enlaces magicos que abren el formulario con contexto y tema.

Resumen funcional: subir un CSV con correos, etiquetarlos por roles, crear un tema de feedback, seleccionar destinatarios, enviar enlace magico y recibir respuestas. Lo sencillo en la interfaz encierra retos interesantes en el diseño de datos, concurrencia y control de costos.

Diseño del esquema y separación de responsabilidades: el modelo central gira en torno al workspace que agrupa topics, invitaciones y entradas de correo. Componentes como pagos y control de cuota están intencionadamente separados para mantener el dominio principal limpio y facilitar escalado. Para clientes que necesitan soluciones personalizadas podemos aplicar este mismo enfoque en arquitecturas a medida como las que desarrollamos en desarrollo de aplicaciones y software multiplataforma

Resolviendo el caso de una persona con múltiples roles: en equipos reales una misma direccion de correo puede tener varios roles. Para evitar redundancia y problemas de consistencia usé una tabla pivot many to many entre categorias y entradas de correo. Este cambio exige durante cada carga CSV comprobar si el correo existe, evitar duplicados y actualizar relaciones en la tabla pivot de forma atómica.

Patrones y optimizaciones clave: utilizar transacciones de Prisma para operaciones atómicas, construir mapas en memoria para lookups O1 en lugar de filtros O n al cuadrado, y manejar idempotencia cuando se repiten cargas. Con estos cambios se reduce la latencia en operaciones batch y se evita crear registros duplicados.

Lógica de asociacion de correos al subir CSV: distinguir tres casos principales Nuevo, Ya asociado al mismo rol, Usado en otra categoria. Para cada caso aplico una estrategia: crear nuevo correo y vincularlo en la pivot, saltar si ya existe la asociacion, o crear la nueva entrada en la pivot si el correo ya existia pero no estaba vinculado a la categoria actual. Todo esto dentro de un bloque de transaccion para garantizar coherencia.

Envio de invitaciones y control de cuota: para evitar invitaciones duplicadas y abuso se comprueba primero si ya existe una invitacion para la combinacion emailId plus topicId. Se persiste el estado de la invitacion en BD con valores SENT o FAILED. El contador de uso de correo se incrementa solo si el envio fue exitoso, controlando asi costes de SMTP. Para el envio paralelo de lotes utilice Promise.allSettled que permite procesar resultados parciales sin abortar todo el lote ante fallos individuales y facilita el registro y reintentos posteriores.

Gestion de cuotas mensuales: antes de enviar invitaciones valido la cuota del workspace. La logica reinicia contadores al inicio de mes, crea la entrada si no existe y aplica limites distintos segun si el usuario es de plan gratuito o suscrito. Este mecanismo protege el balance entre coste operativo y experiencia de usuario.

Consideraciones sobre pagos y suscripciones: el frontend solo transmite un identificador de precio, mientras que el backend tiene la verdad sobre el importe real. Asi se evita manipular montos en cliente. La suscripcion se liga al usuario via clerkId en lugar de al workspace para permitir que el usuario compre un plan antes de crear espacios de trabajo y para mantener beneficios aun si se elimina un workspace. Uso transacciones para crear orden, registrar pago y activar suscripcion de forma atomica y reduzco lecturas complejas denormalizando ligeramente la informacion de suscripcion activa para accesos frecuentes.

Limitaciones actuales y mejoras pendientes: el sistema registra invitaciones fallidas pero no las reprocesa automaticamente. Para aumentar resiliencia y tolerancia a fallos propongo introducir un broker de mensajes o una cola administrada que maneje reintentos, backoff exponencial y dead letter queues. Opciones practicas incluyen integrar RabbitMQ, servicios de colas gestionadas o funciones edge con reintentos controlados.

Plan de evolucion tecnico: implementar una cola persistente para envios mas robustos, añadir reintentos inteligentes y monitoreo de trabajos fallidos, desplegar un servicio de workers separado para tareas en segundo plano y habilitar alertas para errores criticos. Estos pasos mejoraran la fiabilidad y facilitaran escalado en picos de carga.

Sobre Q2BSTUDIO: somos Q2BSTUDIO, empresa especializada en desarrollo de software a medida y aplicaciones a medida con experiencia en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones completas que van desde arquitectura backend optimizada hasta dashboards de inteligencia de negocio. Si tu proyecto requiere estrategias de IA para empresas o agentes IA podemos ayudarte a definir e implementar la mejor solución colaborando con el equipo tecnico de tu organizacion servicios de inteligencia artificial

Servicios destacados y palabras clave: software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Estos son ejes sobre los que diseñamos soluciones orientadas a resultados y optimizacion de costes.

Recomendaciones practicas para equipos que quieran replicar este enfoque: modelado claro de dominio con separacion de responsabilidades, uso de transacciones para operaciones compuestas, estructuras de datos en memoria para optimizar comparaciones en batch, control estricto de cuota para limitar gastos y mecanicas de retry basadas en colas para operaciones de IO no deterministas.

Si necesitas asistencia implementando una arquitectura similar o quieres migrar un sistema existente a una plataforma mas robusta podemos colaborar desde diseño hasta deploy y monitorizacion. En Q2BSTUDIO combinamos experiencia en ciberseguridad, cloud y business intelligence para entregar soluciones seguras y escalables adaptadas a tu negocio.

Contacto y siguientes pasos: plantea tu caso y evaluamos una propuesta tecnica y comercial ajustada a tus necesidades incluyendo evaluacion de seguridad y coste. Gracias por leer este analisis tecnico y por considerar buenas practicas en el diseño de backends para productos SaaS.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.