← Back to projects

Qarīn.ai

Status: on-hold•September 2, 2025

Create unlimited AI chatbot agents for your website — powered by OpenAI-compatible LLMs, RAG, and MCP.

AngularNestJSTypeORMPostgreSQLPrimeNGTailwindCSSDocker

Overview

Qarīn.ai lets you create unlimited AI chatbot agents for your websites — no coding required. It works with any LLM provider that supports the OpenAI-Compatible API, including self-hosted providers like llama.cpp or Ollama.

⏸️ ON HOLD — SHELVED UNTIL THERE IS A REAL MARKET FOR IT ⏸️

GitHub Repo starsGitHub watchersLicense

With Qarīn.ai, you can:

  • Define an agent's name, identity, and instructions.
  • Instantly generate a chat bubble widget to embed on your site.
  • Enhance agents by connecting to MCP Servers or importing your own API specs.
  • Build vector stores from documents for retrieval-augmented generation (RAG).
  • Expose vector stores or MCP Servers to external AI agents.

Project Status: On Hold

Active development on Qarīn.ai is currently paused. The project reached a working end-to-end state — agents, vector stores, MCP generation, and the embeddable chat widget all function — but it stops short of the polish and hardening a production release needs.

Where it stands today:

  • ✅ Agent creation, identity, and instruction management
  • ✅ Embeddable chat bubble widget
  • ✅ Vector stores with RAG retrieval on pgvector
  • ✅ MCP server generation from OpenAPI/Swagger specs
  • ✅ Docker / Docker Compose deployment
  • ⏸️ User management, ACL, and scoped access tokens
  • ⏸️ Conversation tracking and inspection UI
  • ⏸️ Agent widget theming and branding options

Why it's paused: I started Qarīn.ai early in the LLM wave, when "add an AI agent to your website" still felt like an open problem. The landscape has moved a lot since then, and honestly, the project doesn't have a market right now. Every chat platform, CMS, and help desk now ships its own AI assistant, and a generic self-hosted agent builder doesn't solve a pain that someone is actively looking to pay for. Pouring more time into the remaining security and multi-user work, without knowing who it's for, simply isn't worth it.

What would bring it back: a clear, specific audience. If I revisit Qarīn.ai, it will most likely be together with a partner, starting with proper market research to pinpoint the real pain a particular group of users has, and then reshaping the product around them instead of around the technology.

The repository stays public and open source. Feel free to fork it, run it, or open issues and PRs. The roadmap below is where development would resume, though a pivot would probably rewrite a good part of it.

Key Features

  • No Coding Needed!
  • Supports RAG & MCP out of the box.
  • Works with any OpenAI-Compatible LLM provider (including self-hosted).
  • One-click MCP Server generation from existing REST API specs (Swagger/OpenAPI).
  • Native vector storage with optional MCP Server exposure for each store.
  • Easy-to-use chat bubble widget for quick website integration.
  • Simple Docker or Kubernetes deployment.

Technical Implementation

Architecture Overview

Qarīn.ai is built as a full-stack web application with a modern frontend and robust backend, designed for easy deployment and scalability. It leverages containerization for simplified deployment and supports integration with various AI providers through OpenAI-compatible APIs.

Frontend

  • Angular for the main web application framework
  • PrimeNG for rich UI components and data visualization
  • TailwindCSS for utility-first styling and responsive design
  • ngx-markdown for markdown rendering and documentation display

Backend

  • NestJS for scalable Node.js backend with modular architecture
  • TypeORM for database ORM with PostgreSQL integration
  • pgvector for vector storage and similarity search capabilities
  • MCP SDK for Model Context Protocol integration
  • OpenAI SDK for LLM provider connectivity
  • Zod for runtime type validation and schema definition

AI & Data Processing

  • LangChain text splitters for document processing and chunking
  • HuggingFace transformers integration for advanced NLP tasks
  • Vector stores with RAG (Retrieval-Augmented Generation) support
  • MCP Server generation from OpenAPI/Swagger specifications

Infrastructure/DevOps

  • Docker & Docker Compose for containerized deployment
  • PostgreSQL as the primary database with vector extensions
  • Webpack & Gulp for build tooling and asset processing
  • Kubernetes-ready deployment configurations

Challenges & Solutions

  1. Multi-LLM Provider Integration: Supporting various OpenAI-compatible providers with different capabilities

    • Solution: Abstracted provider interface with standardized API calls and fallback mechanisms
  2. Vector Database Performance: Efficient storage and retrieval of high-dimensional vectors for RAG

    • Solution: PostgreSQL with pgvector extension for native vector operations and indexing
  3. MCP Server Generation: Automatic conversion of REST APIs to MCP servers

    • Solution: OpenAPI/Swagger parsing with dynamic MCP server creation and tool binding
  4. Real-time Chat Widget: Seamless integration of chat bubbles across different websites

    • Solution: iframe-based widgets with cross-origin communication and secure API endpoints

Performance Optimizations

  • Vector Indexing: Optimized pgvector indexes for fast similarity searches
  • Lazy Loading: Component and module lazy loading in Angular for improved initial load times
  • Caching: Database query caching and API response caching for frequently accessed data
  • Container Optimization: Multi-stage Docker builds for minimal production images

Security Features

  • Access Control Lists (ACL) planned for multi-user support
  • Personal Access Tokens with scoped permissions (in development)
  • Secure API Endpoints for chat widget communication
  • Input Validation using Zod schemas for all API inputs
  • Cross-origin Security for embedded widgets

What I Learned

  • Advanced full-stack development with Angular and NestJS
  • Vector database implementation and RAG systems
  • MCP (Model Context Protocol) integration and server generation
  • Multi-provider LLM abstraction and API standardization
  • Container orchestration and deployment strategies
  • Real-time widget development and cross-origin communication
  • OpenAPI/Swagger specification parsing and conversion

Roadmap (When Development Resumes)

  • Complete existing CRUD operations and missing use cases for all resources
  • Enhanced security with user management, ACL, and scoped access tokens
  • Conversation tracking UI for inspecting agent conversations
  • Agent UI customization (styling, colors, branding)
  • Additional quality-of-life improvements and feature stabilization
  • Expanded LLM provider support and advanced AI capabilities

🙏 Acknowledgements

Qarīn.ai would not have been possible without the incredible work of the open-source community. This project stands on the shoulders of countless developers and contributors who make their tools, libraries, and frameworks available for everyone to learn from and build upon.

A special thanks to the maintainers of the amazing technologies powering Qarīn.ai, including Angular, PrimeNG, TailwindCSS, NestJS, TypeORM, PostgreSQL, and many more.

Made with ❤️ by sayedmahmoud266

Your AI Companion for the Web

Comments