Platto
Un menú donde cada plato se ve en 3D y en realidad aumentada, sin instalar nada.
- Rol
- Founder · todo el producto
- Período
- Jul 2026 — hoy
- Equipo
- Solo, con IA como copiloto
- Estado
- En desarrollo
Stack: Next.js · TypeScript · Prisma · PostgreSQL · <model-viewer> · WebXR · Vercel · Playwright · Python
platto.tech ↗Demo en vivo ↗El cliente escanea el QR de la mesa, abre la carta en el navegador y puede girar cada plato en 3D o verlo servido sobre su mesa con la cámara. Lo difícil no fue el menú: fue conseguir un 3D que se parezca al plato de verdad.
El problema
En la mayoría de los restaurantes elegís mirando un nombre y un precio, o una foto genérica. Platto muestra el plato: lo girás con el dedo y, con un toque, aparece sobre tu mesa a tamaño real.

Cómo funciona
- El local carga su carta desde su panel: categorías, precios, horarios, sucursales, alérgenos e idiomas.
- Cada mesa tiene su QR y la carta abre en el navegador, sin app.
- El 3D y la realidad aumentada usan lo que ya trae cada celular, Android o iPhone. Si el celular no puede mostrar el plato sobre la mesa, el botón directamente no aparece.
La parte difícil: conseguir el 3D
Esto es lo que más tiempo me llevó, y tuvo varias vueltas.
1. Una sola foto no alcanza
La primera versión armaba el modelo 3D a partir de una sola foto. Generaba domos: una pizza terminaba pareciendo una torta. Para un menú donde la gente pide según lo que ve, eso no sirve.
2. La reconstrucción que nunca anduvo
Pasé a reconstruir el plato a partir de varias fotos reales con un servicio externo. En producción rechazaba todas las subidas con un error genérico y, como el código no guardaba la respuesta, no sabía por qué. Cuando leí la documentación de verdad aparecieron tres errores míos de integración. Después anduvo, pero cada formato extra, como el que necesita el iPhone, costaba un escaneo más por plato.
3. Hacerlo propio
Armé mi propio sistema de reconstrucción. Funcionaba, pero cada plato tardaba entre 15 y 20 minutos y necesitaba mucha más memoria de la que permite el hosting, así que lo tuve que correr en otra computadora que procesa los pedidos y devuelve el modelo terminado.
4. La letra chica
Varias herramientas que evalué no se pueden usar en un producto comercial por su licencia. Lo descubrí leyendo la letra chica antes de construir encima, no después.
5. ¿Cuántas fotos hacen falta?
Pedirle decenas de fotos a un dueño de restaurante es mucho, así que corrí un experimento para ver cuántas hacen falta de verdad. Dio bastantes menos, pero lo hice con un plato simulado y no con uno real, así que no cambié el producto: queda como hipótesis hasta repetirlo con datos reales.
6. Generar en vez de reconstruir
También probé modelos que generan el 3D con IA a partir de pocas fotos, con un chequeo en el celular que avisa si una foto salió borrosa u oscura antes de subirla. Ninguno me convenció para producción: o el resultado no se parecía al plato, o no se podía mostrar en el visor, o era demasiado caro de correr.
Hoy los modelos los cargo yo desde el panel de admin mientras valido el producto. La automatización está construida y apagada: prefiero eso a mostrarle a un restaurante un plato que no se parece al suyo.
El resto del producto
- Panel del local: carta, precios masivos, QR por mesa, varias sucursales, plato del día, combos, reseñas y un reporte mensual con lo más mirado.
- Seguridad: cada local ve solo sus propios datos, y el login no revela qué emails están registrados.
- Accesibilidad AA, lectura en voz alta y alto contraste en el menú público.
- Rendimiento: medí y arreglé una animación de la portada que trababa el scroll.
- Una demo que se levanta con un comando y se abre desde el celular con un QR, para mostrar Platto en persona.

Del proyecto · Notas