Education voucher at hand? Step into the fast lane: Contact us

Contact us
DE|EN

Dish RAG / Food RAG

DishRAG is a full-stack RAG (retrieval-augmented generation) chatbot for exploring food recipes. Users chat in natural language, and the assistant retrieves relevant recipes from a Postgres/pgvector store, answers questions about them, and can search, look up, and manage favorites on the user's behalf via tool calling.

Beyond the chat itself, the app keeps a full conversation history per user, with renaming, pinning, and deleting conversations, and titles that are auto-generated from the first message. A separate recipe browsing view offers a paginated, sortable, and searchable list with autocomplete, plus a personal favorites collection.

Authentication supports local email/password login with JWT, alongside Google and GitHub OAuth2. Rather than relying on a shared OpenAI budget, each user brings their own OpenAI API key, stored encrypted at rest; the backend builds a per-user chat/embedding client from it, so there is no shared LLM billing.

The backend is built with Java 25, Spring Boot 4, and Spring AI for OpenAI chat and embeddings, backed by PostgreSQL with pgvector for semantic search. The frontend is a React 19 + TypeScript app built with Vite, using TanStack Query, Zustand, and Tailwind CSS. Everything ships as a single Docker image: a multi-stage build bundles the frontend into the backend jar as static resources, deployed through a GitHub Actions CI/CD pipeline.

Case Study

The goal of DishRAG is to make recipe discovery more natural, intelligent, and personalized. Instead of relying only on traditional keyword searches, users can ask questions in everyday language and receive relevant recipes through AI-powered semantic search. The project also aims to demonstrate a complete Retrieval-Augmented Generation (RAG) architecture, combining vector search, LLM tool calling, conversation memory, and user-specific personalization. By allowing users to manage favorites, browse recipes, and maintain conversation histories, DishRAG provides a complete user experience. Another key goal is to give users control over AI costs and privacy by using their own encrypted OpenAI API keys.

The Team

  • Ilham MuhammadPortfolio

    We’re Fullstack Engineers with 3+ years of experience building web applications and working with different technologies. We enjoy turning ideas into working products, solving problems, and learning new things along the way. From frontend to backend, we like getting involved in the whole process and making things simple, useful, and enjoyable to use.

    SocialsLinkedIn
  • Muhammad Faisal Ibnu PradyPortfolio

    We’re Fullstack Engineers with 3+ years of experience building web applications and working with different technologies. We enjoy turning ideas into working products, solving problems, and learning new things along the way. From frontend to backend, we like getting involved in the whole process and making things simple, useful, and enjoyable to use.

    SocialsLinkedIn

Next Project

We AI-proof
your career

youtubefacebookgithubinstagramlinkedin
studienberatung@neuefische.de+49 30 9173 9346
Mo - Fr 09:00 - 17:00
youtubefacebookgithubinstagramlinkedin

We AI-proof
your career

studienberatung@neuefische.de+49 30 9173 9346
Mo - Fr 09:00 - 17:00