RAG Chatbot
A chatbot trained on my personal data using Retrieval-Augmented Generation (RAG)

Project Overview
I continuously set out to push the limits of what I can accomplish technically. One way I decided to test my strengths (and learn as much as I could along the way) was by building my own RAG chatbot to engage with dating app matches.
Before we get to the good stuff, I want to add a disclaimer that this bot was only created for experimentation purposes, and was always used under my own human supervision. My goals with this project were to get an understanding of RAG processes, including indexing and training, as well as to create something with my own real data.
The system combines the power of LLMs with an additional retrieval mechanism that can access and reference specific information from my personal dataset, making conversations more accurate and personalized while both saving me time and having fun!
System Architecture
The system is built using a modern, scalable architecture that includes:
- Data Sources: Personal text messages (15,000+ messages) and real-time Tinder conversations
- Web Automation: Playwright for browser automation and session management
- Backend Services: Node.js/Express server with authentication and automation services
- AI & ML: Claude-3-5-Sonnet API, Voyage AI embeddings, and Pinecone vector database
- Frontend: React web app and dedicated RAG chatbot interface
- Storage: SQLite database for conversation data and local processing
Key Features
Contextual Understanding
The chatbot maintains conversation context and can reference previous interactions to provide more coherent and relevant responses.
Personalized Responses
Leverages personal data and preferences to tailor responses specifically to my background, interests, and communication style.
Real-time Processing
Fast response times with intelligent caching and optimization for smooth conversational flow.
Privacy-First Design
Built with privacy in mind, ensuring that personal data is handled securely and conversations remain confidential.
Future Enhancements
This project serves as a foundation for more advanced AI applications. Future iterations could include:
- Multi-modal capabilities (text, voice, image processing)
- Integration with Match's profile information
- Scoring likelihood of a good match