Caso de estudio · Producto propio
Chatt World
Un chat de grupos donde cada mensaje llega en el idioma de cada lector, para que personas que no comparten idioma conversen en el mismo grupo.
- Rol
- Producto, diseño y desarrollo full stack
- Lanzamiento
- Septiembre 2026
- Plataforma
- App web, instalable como PWA
- Stack
- Fastify, WebSockets, PostgreSQL, React, Zustand
01 · El problema
Grupos divididos por el idioma
Los grupos con varios idiomas suelen terminar usando uno solo, o la gente copia los mensajes en un traductor y pega la respuesta de vuelta.
Quería que cada persona escribiera con naturalidad en su idioma y leyera a los demás en el suyo, dentro de un chat tan completo como las apps que ya usa.
02 · Qué construí
Un chat completo, traducido para cada lector
Conversación
- Traducción al llegar o a pedido, con el idioma del autor como pista
- Respuestas, menciones, edición, borrado y mensajes fijados
- Reacciones y cinco tipos de encuestas
- Vistas previas de enlaces protegidas contra SSRF
Presencia y avisos
- Estado en línea e indicador de escritura
- Confirmación de lectura por mensaje, también en privados
- Campana de avisos y Web Push como PWA instalable
Comunidad
- Noticias con comentarios y «me gusta»
- Amigos y contactos con estado en línea
- Temas y fondos de chat guardados en la cuenta
Global desde el diseño
- Interfaz en el idioma de cada usuario
- Soporte para escrituras de derecha a izquierda
- Página pública y SEO en inglés
03 · Arquitectura
Cómo encaja todo
-
Frontend
PWA en React
Estado con Zustand, service worker y Web Push
-
Borde
Cloudflare y Nginx
Turnstile en el acceso y una política de seguridad de contenido estricta
-
API y tiempo real
Fastify y WebSockets
Mensajes, presencia, traducción y sesiones revocables
-
Datos y medios
PostgreSQL
Más un procesador aparte que reduce fotos y videos
04 · Ingeniería
Hecho para ser confiable
Seguridad
Sesiones en el servidor que el usuario puede revocar, enlaces de un solo uso para cambiar la contraseña, protección anti-bots en el acceso y una política de seguridad de contenido estricta.
Pruebas de carga
Las pruebas de carga con k6 revelaron seis fallos bajo concurrencia, y corregí cada uno.
Procesamiento de medios
Un procesador aparte reduce las fotos y videos, con miniaturas en la conversación.