Consulta calorías y macros de platos al instante.
Translation pending
HealthTypeScript · ShellGitHub @pbojedaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
plataforma open source de referencia para conocer la información nutricional de cualquier plato, en cualquier restaurante, en cualquier contexto
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
La base de datos nutricional abierta de restaurantes — para restaurantes lo que Open Food Facts es para productos envasados. foodXPlorer es una plataforma open source para consultar informacion nutricional de platos de restaurantes y cadenas. Resuelve un problema concreto: cuando comes fuera de casa, estas ciego nutricionalmente. Las apps de nutricion (MyFitnessPal, Fitia) estan pensadas para tracking en casa. Las apps de restaurantes (TheFork, TripAdvisor) no tienen informacion nutricional. foodXPlorer cubre ese hueco.Read the full README ↗
La base de datos nutricional abierta de restaurantes — para restaurantes lo que Open Food Facts es para productos envasados.
foodXPlorer es una plataforma open source para consultar informacion nutricional de platos de restaurantes y cadenas. Resuelve un problema concreto: cuando comes fuera de casa, estas ciego nutricionalmente.
Las apps de nutricion (MyFitnessPal, Fitia) estan pensadas para tracking en casa. Las apps de restaurantes (TheFork, TripAdvisor) no tienen informacion nutricional. foodXPlorer cubre ese hueco.
Como funciona: un motor de estimacion de cuatro niveles devuelve valores nutricionales con nivel de confianza explicito — siempre sabes si estas viendo datos oficiales, una estimacion por ingredientes, una extrapolacion por similitud o una aproximacion por LLM. El bot de Telegram es la interfaz principal. Tambien acepta mensajes de voz.
Fase 1 + Fase A0/A1 completadas. Bot de Telegram funcional con voz, menus, cocina espanola y 250 platos canonicos.
| Componente | Estado | Notas |
|---|---|---|
| API REST | Funcionando | Fastify + PostgreSQL + pgvector + Redis. 21 migraciones |
| Bot Telegram | Funcionando | 13 comandos + NL + voz + analisis de menus |
| Motor de estimacion | Funcionando | 4 niveles + cooking yield + alias matching |
| Pipeline de ingestion | Funcionando | 14 cadenas + 1 restaurante virtual (cocina-espanola) |
| Base de datos BEDCA | Importada | Base espanola de composicion de alimentos (Tier 1) |
| Landing page | Funcionando | nutriXplorer.com (Next.js) |
| Tests | ~5188 passing | 5 workspaces, build y lint clean |
| Comando | Descripcion |
|---|---|
/estimar <plato> [en <cadena>] | Estima nutrientes de un plato |
/comparar <plato_a> vs <plato_b> | Compara dos platos lado a lado |
/menu <plato1, plato2, ...> | Estima un menu completo (varios platos) |
/contexto [<cadena>|borrar] | Establece/ve/borra el contexto de cadena activo |
/receta <texto libre> | Calcula nutrientes de una receta completa |
/buscar <texto> | Busca platos en la base de datos |
/restaurantes [cadena] | Lista restaurantes |
/restaurante <nombre> | Busca/crea restaurante con teclado inline |
/platos <restaurante_id> | Lista platos de un restaurante |
/cadenas | Lista cadenas disponibles |
/info | Estado del sistema y version |
/start /help | Ayuda y lista de comandos |
El bot entiende espanol sin necesidad de comandos:
cuantas calorias tiene un big mac
que engorda mas, big mac o whopper
estoy en mcdonalds (establece contexto)
big mac (usa el contexto activo)
menu: ensalada, filete, flan (estima un menu completo)
Envia un mensaje de voz y el bot lo transcribe automaticamente (Whisper) y procesa como texto. Soporta estimaciones, comparaciones y menus:
[audio] "dos pinchos de tortilla" -> estimacion con porcion x2
[audio] "menu: ensalada y un filete" -> estimacion de menu
Limite: 30 segundos por mensaje, 50 mensajes de voz al dia.
Cuando dices "estoy en mcdonalds" o usas /contexto mcdonalds, el bot recuerda la cadena durante 2 horas. Las consultas siguientes se filtran automaticamente por esa cadena sin necesidad de especificarla cada vez.
doble big mac (x2)
media racion de pollo (x0.5)
big mac xl (x1.5)
tapa de calamares (prefijo de formato eliminado)
250 platos canonicos espanoles disponibles sin necesidad de seleccionar cadena. Aliases regionales reconocidos automaticamente:
bravas -> Patatas bravas
bocata de jamon -> Bocadillo de jamon serrano
tortilla espanola -> Tortilla de patatas
cana -> Cerveza (cana)
tapa de calamares -> Calamares a la romana
Estima varios platos a la vez y muestra el total nutricional:
/menu ensalada mixta, filete de pollo, flan
menu: sopa, merluza a la plancha, fruta
Muestra cada plato individual + totales agregados (15 nutrientes).
Bebidas alcoholicas se estiman con el nutriente alcohol (7 kcal/g). Se muestra con el indicador de cerveza cuando el alcohol es > 0.
Envia una foto o PDF de un menu y el bot lo analiza usando OCR + Vision AI, estimando los nutrientes de cada plato detectado.
/comparar big mac vs whopper
/comparar big mac en mcdonalds-es vs whopper en burger-king-es
que engorda mas, big mac o whopper
Muestra una tabla comparativa con calorias, proteinas, grasas, carbohidratos y fibra, con indicador del "ganador" en cada nutriente.
Ver docs/user-manual-bot.md para el manual completo con ejemplos.
packages/
api/ Fastify REST API (estimacion, busqueda, ingestion, recetas, conversacion)
bot/ Telegram bot (node-telegram-bot-api, voz, menus)
shared/ Tipos y schemas compartidos (Zod)
scraper/ Pipeline de scraping (Crawlee + Playwright)
landing/ Landing page (Next.js 14 + Tailwind)
Runtime Node.js + TypeScript (strict)
API Fastify + OpenAPI + Zod validation
Database PostgreSQL 16 + pgvector + pg_trgm
Cache Redis (rate limiting, bot state, estimaciones)
ORM Prisma (21 migraciones) + Kysely (queries complejas)
Bot node-telegram-bot-api
Landing Next.js 14 + Tailwind + Framer Motion
LLM OpenAI API (interpretacion, recetas, voz via Whisper)
Scraping Crawlee + Playwright
Infra Render + Supabase + Upstash + Cloudflare
| Nivel | Cuando aplica | Confianza |
|---|---|---|
| L1 — Dato oficial | El plato existe en BD con datos del restaurante | Alta |
| L2 — Estimacion por ingredientes | Se conocen los ingredientes y sus pesos | Media |
| L3 — Extrapolacion por similitud (pgvector) | Solo existe el nombre del plato | Baja |
| L4 — Aproximacion LLM | Sin coincidencia en BD. Incluye yield por estado de coccion | Muy baja |
El nivel de confianza siempre es visible para el usuario. Los datos de prioridad mas alta (BEDCA > restaurante > USDA > estimado) se muestran primero.
| Fuente | Tipo | Platos/Alimentos |
|---|---|---|
| Cadenas espanolas (14) | Datos oficiales | ~1400 platos |
| Cocina espanola (virtual) | BEDCA + estimacion | 250 platos canonicos |
| BEDCA | Base nacional | 20 alimentos (placeholder, pendiente autorizacion AESAN) |
| USDA SR Legacy | Base internacional | 514 alimentos |
Calorias, proteinas, carbohidratos, azucares, grasas, grasas saturadas, fibra, sal, sodio, grasas trans, colesterol, potasio, grasas monoinsaturadas, grasas poliinsaturadas, alcohol.
.env.example)npm install
npx prisma migrate deploy --schema packages/api/prisma/schema.prisma
npm run build
npm test # todos los workspaces
cd packages/api && npx vitest run # solo API (~2710 tests)
cd packages/bot && npx vitest run # solo bot (~1143 tests)
Este proyecto usa Spec-Driven Development con sdd-devflow v0.13.2:
Spec -> Plan -> Implementacion TDD -> Validacion -> Code Review + QA -> Merge
Cada feature pasa por reviews cruzados con multiples modelos AI (Gemini, Codex, Claude) para spec, plan y codigo.
| Documento | Descripcion |
|---|---|
docs/user-manual-bot.md | Manual completo del bot con ejemplos |
docs/specs/api-spec.yaml | Especificacion OpenAPI de la API REST |
docs/project_notes/ | Memoria del proyecto (tracker, decisiones, bugs) |
docs/tickets/ | Tickets de cada feature con spec + plan + log |
docs/research/product-evolution-analysis-2026-03-31.md | Analisis de evolucion del producto (Fase 2) |
Licencia pendiente de definicion.
Fase A1 completada - Abril 2026 - Spec-Driven Development