Zerowaste es una aplicación móvil-first impulsada por inteligencia artificial que revoluciona la forma en que las familias planifican sus comidas. Genera menús personalizados basados en preferencias familiares, restricciones dietéticas y productos disponibles, ayudándote a:
- Planificar comidas en segundos - La IA genera menús semanales completos
- Reducir desperdicio hasta 30% - Optimiza el uso de ingredientes
- Ahorrar 15-20% en compras - Listas de compras inteligentes
- Comer más variado - Descubre nuevas recetas adaptadas a tu familia
Genera menús semanales completos en segundos considerando las preferencias de tu familia, restricciones alimentarias y productos disponibles en tu despensa.
Define quién come en casa, restricciones dietéticas (vegetariano, sin gluten, vegano, etc.) e ingredientes a evitar para recibir recomendaciones 100% personalizadas.
Toma una foto de tu ticket del supermercado y la IA extrae automáticamente todos los productos, cantidades y precios usando GPT-4o Vision.
Cada receta incluye ingredientes, pasos numerados, tiempos de cocción, nivel de dificultad y valor nutricional.
Registra comida sobrante y recibe sugerencias inteligentes de la IA para reutilizarla, reduciendo el desperdicio alimentario.
Genera listas de compras organizadas por categorías directamente desde tu menú semanal.
Visualiza tu progreso con métricas de desperdicio, ahorro estimado y recomendaciones personalizadas para mejorar.
Zerowaste está construido con tecnologías modernas de vanguardia:
- Next.js 16.1 - Framework React con App Router
- React 19 - Última versión con React Server Components
- TypeScript - Tipado estático para mayor robustez
- Tailwind CSS - Estilos utility-first
- Shadcn/ui - Componentes UI basados en Radix
- Supabase - PostgreSQL con Row Level Security
- OpenAI GPT-4o - Generación de menús y análisis de imágenes
- Vercel AI SDK - Integración simplificada con modelos de IA
- Server Actions - API serverless nativa de Next.js
- pnpm - Gestor de paquetes eficiente
- react-hook-form + zod - Validación de formularios
- Recharts - Visualización de datos
- Node.js 18+
- pnpm 9+
- Cuenta de Supabase
- API Key de OpenAI
- Clona el repositorio
git clone https://github.com/tu-usuario/zerowaste.lat.git
cd zerowaste.lat- Instala dependencias
pnpm install- Configura variables de entorno
Crea un archivo .env.local en la raíz del proyecto:
# Supabase
SUPABASE_URL=tu_supabase_url
SUPABASE_SERVICE_ROLE_KEY=tu_service_role_key
NEXT_PUBLIC_SUPABASE_URL=tu_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=tu_anon_key
# OpenAI
OPENAI_API_KEY=tu_openai_api_key- Inicializa la base de datos
pnpm db:setup- Inicia el servidor de desarrollo
pnpm devLa aplicación estará disponible en http://localhost:3000
pnpm dev # Inicia servidor de desarrollo
pnpm build # Genera build de producción
pnpm start # Inicia servidor de producción
pnpm lint # Ejecuta ESLint
pnpm db:setup # Inicializa esquema de base de datos- Primera vez: Configura tu familia en "Mis Gustos"
- Genera tu menú: Usa la barra de búsqueda para generar un menú semanal
- Explora recetas: Navega por los 7 días y descubre las recetas
- Crea tu lista: Genera automáticamente tu lista de compras
- Escanea facturas: Sube tickets para mantener tu inventario actualizado
- Registra sobrantes: Obtén sugerencias de reutilización
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND │
│ Next.js 16 + React 19 + TypeScript + Tailwind │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ SERVER ACTIONS │
│ app/actions.ts │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────────┐
│ AI SERVICES │ │ DATABASE SERVICES │
│ lib/openai.ts │ │ services/supabase-service │
│ - GPT-4o │ │ - PostgreSQL │
│ - Vision API │ │ - RLS Policies │
└─────────────────────────┘ └─────────────────────────────┘
zerowaste.lat/
├── app/
│ ├── actions.ts # Server Actions - todas las mutaciones
│ ├── api/generate/ # Endpoint de generación OpenAI
│ └── (routes)/ # Rutas de páginas
├── components/
│ ├── ui/ # Componentes Shadcn/ui
│ ├── welcome-screen.tsx # Pantalla de inicio
│ ├── menu-semanal.tsx # Menú semanal
│ └── detalle-receta.tsx # Vista de receta
├── lib/
│ ├── openai.ts # Funciones de IA
│ ├── supabase.ts # Clientes de Supabase
│ └── utils.ts # Utilidades
└── services/
└── supabase-service.ts # Operaciones CRUD
- Onboarding familiar
- Generación de menú con IA
- Vista de menú semanal
- Detalle de receta
- Procesamiento de facturas
- Registro de sobrantes
- Lista de compras funcional
- Descarga PDF de lista de compras
- Métricas básicas
- Sistema de favoritos
- Historial de menús
- Compartir menú/recetas
- Notificaciones push
- Autenticación de usuarios
- Múltiples perfiles familiares
- Integración con supermercados
- Recetas de la comunidad
- Modo offline (PWA)
- Versión iOS/Android nativa
Las contribuciones son bienvenidas. Por favor:
- Haz fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: amazing feature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Todo el código debe estar en TypeScript
- Sigue las convenciones de ESLint configuradas
- Escribe commits descriptivos en español
- Agrega tests para nuevas funcionalidades
- Actualiza la documentación cuando sea necesario
Este proyecto está bajo la Licencia Apache 2.0. Ver el archivo LICENSE para más detalles.
- Proyecto: ZeroWaste.lat
- Issues: GitHub Issues
Hecho con ❤️ para reducir el desperdicio alimentario








