DishCover is an intelligent culinary companion designed for the modern nomad. It bridges the gap between cultural curiosity and language barriers by providing deep, structured food intelligence localized instantly via Lingo.dev.
Food is the soul of travel, yet menus are often the biggest barrier.
- Words vs. Meaning: Standard tools translate words (e.g., "Okonomiyaki"), but they don't explain the soul (ingredients, history, or the correct way to eat it).
- Safety & Diet: Travelers with allergies or dietary restrictions need structured, reliable data—not just a literal translation.
- Context: Translation tools convert text; they do not convey the meaning, context, or culture of a dish.
In DishCover, localization isn't an afterthought—it's the core engine. Powered by the Lingo.dev SDK, we achieve True Localization:
- Structural Integrity: Localizing complex JSON objects without breaking the technical schema.
- Cultural Resonance: Delivering food stories that feel natural and authentic in the user's native tongue.
- Consistency: Ensuring that every technical field—from
spiceLeveltoallergenWarnings—remains consistent across 50+ languages.
Search any dish to receive a comprehensive "Food Intelligence Profile":
- Sensory Profile: Taste and texture details (Umami, Crispy, Tangy).
- Safety First: Structured allergen warnings and dietary specs (Vegan, Gluten-Free).
- The Legacy: The cultural story behind the plate and local "Insider Tips."
Arriving in a new city? Instantly discover the famous dishes that define its culinary identity.
Switch languages on the fly. The entire UI and the AI-generated backend data transform instantly using Lingo.dev’s high-performance localization.
DishCover uses a sophisticated pipeline to ensure AI data is both accurate and perfectly localized.
graph TD
subgraph Client_Side [Frontend]
User([👤 User])
Next[Next.js App]
end
subgraph Server_Side [Backend]
Express[Express API]
end
subgraph External_Services [AI & Localization]
Gemini{{Google Gemini AI}}
JSON[Structured JSON]
Lingo(Lingo.dev SDK)
end
%% Flow
User -->|Interaction| Next
Next -->|POST Request| Express
Express -->|Generates| Gemini
Gemini -->|Returns| JSON
JSON -->|Localizes| Lingo
Lingo -->|Final Object| Express
Express -->|Localized Response| Next
Next -->|Renders| User
%% Modern Styling
style User fill:#f0f0f0,stroke:#333
style Next fill:#000,color:#fff,stroke:#333
style Express fill:#4CAF50,color:#fff,stroke:#2E7D32
style Gemini fill:#4285F4,color:#fff,stroke:#1565C0
style Lingo fill:#FF9800,color:#fff,stroke:#EF6C00
style JSON fill:#fff,stroke-dasharray: 5 5
- Search: User inputs a query and selects a language.
- Intelligence: Backend invokes Google Gemini AI to generate a structured
JSONprofile. - Localization: The raw
JSONis passed through the Lingo.dev SDK for instant translation. - Rendering: The localized data is returned to the frontend and rendered via a Framer Motion bento grid.
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, TypeScript, TailwindCSS, Shadcn UI, Framer Motion |
| Backend | Node.js, Express, TypeScript, Zod |
| Localization | Lingo.dev SDK |
| AI Engine | Google Gemini |
| Deployment | Vercel (Frontend), Render (Backend) |
dishcover/
├── 📱 frontend # Next.js Client (Shadcn UI + Framer Motion)
├── ⚙️ backend # Express API (AI Logic & Lingo.dev SDK)
└── 📄 README.md # Global Project Documentation- Web Application: dishcover-tk3e.vercel.app
- Backend API: dishcover-api-tvrc.onrender.com
- Persistent Dish Database: Implementing a database for faster data retrieval and history.
- Image-based Dish Recognition: Ability to scan a physical menu to discover dish details.
- Personalized "Food Passport": A feature for users to save and track their culinary favorites.
- Regional Food Exploration Maps: Interactive maps to explore food by geographical origin.
Jayesh Khuman Software Developer
Built with ❤️ for the Lingo.dev Multilingual Hackathon.