All projects
TrueTerra Oils AI Chatbot

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
ReactReact
TypeScriptTypeScript
Node.jsNode.js
Express.jsExpress.js
MongoDBMongoDB
OpenAIOpenAI
TailwindCSSTailwindCSS