You can watch the Demo Video here and the Documentation here.
Thea is a cross-platform mobile application designed to simplify theater ticket booking through a natural language interface.
The chatbot enhances the user experience by providing essential information about shows, assisting with ticket bookings, and managing other requests in an intuitive and user-friendly manner.
The app prioritizes accessibility for both tech-savvy and elderly users, integrating both manual menus and an NLP-powered chatbot for a seamless user experience.
-
Real-time Show Information:
Instantly ask the chatbot for current performance details, including which hall a show is in and afternoon/evening schedules. -
Conversational Ticket Booking:
The chatbot walks users step-by-step through ticket reservations—choose your show, select seats, confirm, or cancel before finalizing. -
Easy Ticket Cancellation:
Cancel booked tickets quickly and intuitively via chatbot conversation, with confirmation to prevent mistakes. -
Complaints and Feedback:
Submit complaints or feedback directly through the chatbot. Issues can be escalated to a human agent for further assistance. -
Accessibility Support:
The app supports accessible seating (e.g., people with mobility disabilities) and offers supertitles for certain shows to enhance the experience for everyone. -
Accessibility Settings:
Personalize your experience with options for dark mode, adjustable font sizes, and larger buttons, ensuring comfortable use for all users, including those with visual impairments. -
Manual & Guided Actions:
Traditional menu navigation is available alongside the NLP-powered chatbot, making the app friendly for both tech-savvy and less experienced users. -
Robust Error Handling:
Confirmation dialogs prevent unwanted actions. After repeated misunderstandings, the system can seamlessly escalate to a human agent. -
Support for Elderly and Inclusive Design:
Large buttons, readable fonts, simple navigation, and optional voice interaction ensure the app is usable by people of all ages and abilities. -
Multi-Stage Booking & Management:
Supports viewing plays, selecting dates/times, choosing seats, making payments, and managing your tickets all in one place. -
Intelligent Backend:
LLM-based chatbot (LLaMA 3.2), RAG pipeline (LangChain + FAISS), and a secure Flask API power the conversational and ticketing logic.
-
Flutter (Dart):
Modern, cross-platform framework for building beautiful, responsive mobile apps, ensuring seamless performance and a consistent user experience on both iOS and Android devices. -
Flask (Python):
Lightweight, high-performance backend framework that handles API requests, ticket management, and serves as the bridge between the mobile frontend and AI-driven chatbot services. -
Large Language Model (LLM):
Advanced NLP technology (LLaMA 3.2) powers the chatbot, enabling accurate understanding of user intent, natural conversations, and intelligent assistance throughout the app. -
Retrieval-Augmented Generation (RAG):
Integrates with LangChain and FAISS to empower the chatbot with real-time access to theater information and context-aware responses, delivering up-to-date answers based on backend data. -
FAISS:
High-speed vector database for efficient retrieval of relevant information, ensuring the chatbot delivers accurate, context-rich answers to user queries. -
LangChain:
Orchestrates the conversation flow and connects the LLM with the backend, enabling flexible, robust, and reliable information retrieval in real time.
This tech stack enables scalability, real-time performance, and a premium user experience. Leveraging the latest advancements in mobile development and conversational AI, Thea delivers an innovative, accessible, and reliable solution for theater-goers of all ages.
- Frontend: Mobile app built according to HCI best practices (Figma/Android Studio)
- Backend:
- Flask API for ticketing logic
- LLM chatbot (LLaMA 3.2)
- LangChain & FAISS for Retrieval-Augmented Generation (RAG)
- Chatbot:
- Understands free-form requests
- Error handling and escalation
- Complaint submission flow
- Integrated fallback to human support
See Paper Prototypes and Figma Prototypes.
-
Clone this repo:
git clone https://github.com/MariaSchoinaki/Thea.git cd Thea -
Navigate to the AI script directory:
cd lib\chatbot
-
Start the AI server:
- Open the
llama_chat_with_rag_faiss.ipynbnotebook. - Run all cells to instantiate the server.
- Open the
-
Launch the mobile app:
- Connect your mobile phone to your development environment, or use an emulator.
- From the project root directory, run:
flutter run
Maria Schoinaki, BSc Student
Department of Informatics, Athens University of Economics and Business
p3210191@aueb.gr
Eleni Kechrioti, BSc Student
Department of Informatics, Athens University of Economics and Business
p3210078@aueb.gr
Giorgos Isoufai, BSc Student
Department of Informatics, Athens University of Economics and Business
p3210056@aueb.gr