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

