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
Página de inicio de Chatt World con una conversación de ejemplo en portugués y japonés, traducida al inglés para el lector
La página pública de chatt-world.com: el mensaje original arriba y la traducción debajo.

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

  1. Frontend

    PWA en React

    Estado con Zustand, service worker y Web Push

  2. Borde

    Cloudflare y Nginx

    Turnstile en el acceso y una política de seguridad de contenido estricta

  3. API y tiempo real

    Fastify y WebSockets

    Mensajes, presencia, traducción y sesiones revocables

  4. 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.

Siguiente

Ver más productos y experiencia