
Ragdoll
AI-powered website chat interface that enables users to interact with any website using natural language queries.
Timeline
2-3 Days
Role
Full Stack Developer
Team
Solo
Status
CompletedTechnology Stack
Key Challenges
- Website Parsing & Content Extraction
- Chunking Strategy
- Vector Search Accuracy
- Latency Optimization
- Serverless Constraints
Key Learnings
- RAG Architecture
- Vector Database Integration
- Prompt Engineering
- Context Retrieval Optimization
- Fullstack AI Systems
Overview
Ragdoll is an AI-powered web application that converts any website into an interactive chatbot. Users can simply provide a URL, and the system allows them to ask questions related to that website's content.
The application uses a Retrieval-Augmented Generation (RAG) approach where website data is extracted, processed, embedded, and stored in a vector database. Relevant context is then retrieved dynamically to generate accurate answers.
Built entirely using Next.js with serverless APIs, the system ensures fast performance and easy deployment.
Key Features
Core Functionalities
- Chat with Any Website: Turn any URL into a conversational interface
- Context-Aware Answers: Responses generated from actual website data
- RAG Pipeline: Combines retrieval and LLM generation
- Semantic Search: Uses embeddings with vector database
- Dynamic Chunking: Efficient content splitting for better retrieval
- Real-time Chat: Fast and responsive interaction
- Serverless Architecture: Scalable and easy deployment
System Flow
- URL Input → User provides website link
- Scraping & Parsing → Extract meaningful text from webpage
- Chunking → Split content into smaller segments
- Embedding Generation → Convert chunks into vectors
- Storage → Save embeddings in vector DB (Upstash)
- Query Processing → User asks a question
- Vector Search → Retrieve relevant chunks
- LLM Response → Generate final answer
API Endpoints
Core Endpoints
// Chat endpoint
POST /api/chat-stream - Ask questions based on indexed website
// Health check
GET /api/health - Check API status