TrueTerra Oils AI Chatbot
AI Wellness Consultant Chatbot for Essential Oils with RAG & Personalized Recommendations
Overview
TrueTerra Oils AI Chatbot is an intelligent, customer-facing wellness assistant named 'Terra' that provides personalized essential oil recommendations and guidance based exclusively on verified TrueTerra product data. Built with a RAG architecture powered by GPT-4o-mini and a 2,446+ document knowledge base, Terra delivers conversational, FDA-compliant responses 24/7 — helping customers discover products, understand usage, and navigate an extensive catalog of essential oils and wellness items.
Key Features
- Conversational AI assistant 'Terra' with personalized essential oil recommendations
- RAG architecture with 2,446+ ingested markdown knowledge base documents
- Product catalog integration from structured Excel data (ProductCatalog.xlsx)
- Semantic vector search via MongoDB Atlas and OpenAI text-embedding-3-small
- Persistent conversation thread management with history
- React/TypeScript frontend with real-time chat UI and markdown rendering
- In-memory caching layer (5-minute TTL) for improved response performance
- FDA-compliant language enforcement across all AI-generated responses
- JWT authentication and CORS security on all API endpoints
Challenges
- Processing and structuring 2,446+ markdown files into a searchable vector knowledge base
- Enforcing FDA-compliant language consistently across all AI responses
- Building a personalized recommendation engine from a large product catalog
- Maintaining conversation context across multiple threads per user
- Delivering fast responses from a large vector database at scale
Solutions
- Built automated ingestion pipeline with text chunking (2000 chars) and OpenAI embedding generation
- Engineered system prompts with strict FDA compliance rules and brand voice guidelines
- Parsed ProductCatalog.xlsx into structured MongoDB documents for semantic product matching
- Implemented persistent conversation storage per user with TanStack Query for state management
- Added NodeCache in-memory caching layer with TTL to reduce repeated vector search latency