Back to Portfolio

Maro's Coffee AI Chatbot

AI-powered conversational chatbot simulating a friendly coffee shop cashier with dynamic menu management

Project Overview

A web application that simulates a friendly cashier experience for Maro's Coffee shop using AI-powered conversation. The chatbot interacts with customers, takes orders, provides menu information, and handles the complete ordering process through natural language conversations.

Key Features

  • • AI-Powered Conversations: Google Gemini API integration for natural, friendly cashier interactions
  • • Dynamic Menu System: Professional drink menu with types, sizes, and prices loaded from database
  • • Session-Based Tracking: Customer session management for personalized ordering experience
  • • Token Management: Intelligent conversation context management with token counting
  • • Visual Menu Display: Dynamic image loading from Unsplash based on drink names
  • • Real-Time Chat: Interactive chat interface with AI responses and order confirmation

Technical Stack

Django Python MongoDB Google Gemini AI HTML/CSS/JavaScript SQLite

System Architecture

Full-stack Django application with intelligent AI integration and database-driven menu management:

  • • Django Framework: MVC architecture with robust URL routing and template rendering
  • • Database Models: DrinkType, Customer, and ChatMessage models with proper relationships
  • • AI Integration: Google Gemini API for generating context-aware, friendly responses
  • • Session Management: Django sessions for tracking customer interactions and orders
  • • Frontend Interface: Responsive web interface with chat bubbles and menu display

Database Models

  • • DrinkType: Stores drink names, sizes (Small/Medium/Large), and corresponding prices
  • • Customer: Tracks customers via session keys for personalized experience
  • • ChatMessage: Stores complete conversation history with token counts for context management

AI Chat Capabilities

  • • Natural Order Taking: Understands drink preferences, sizes, and customizations
  • • Menu Assistance: Provides information about available drinks, sizes, and prices
  • • Order Confirmation: Summarizes orders and confirms details before finalizing
  • • Context Awareness: Maintains conversation context across multiple interactions
  • • Friendly Personality: Simulates a cheerful, helpful coffee shop cashier

Setup & Deployment

  • • Environment Setup: Virtual environment with pip dependencies from requirements.txt
  • • API Configuration: Google Gemini API key setup for AI responses
  • • Database Migration: Django migrations for model setup
  • • Development Server: Run locally at http://127.0.0.1:8000/
  • • Menu Management: Dynamic drink database with easy updates

User Experience

  • • Visual Appeal: Professional coffee shop interface with appetizing drink images
  • • Intuitive Chat: Simple chat interface for natural conversations
  • • Menu Visibility: Clear display of all drink options and pricing
  • • Responsive Design: Works seamlessly on desktop and mobile devices
View on GitHub