<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tharindu Damayantha</title>
    <description>The latest articles on DEV Community by Tharindu Damayantha (@tharindu_damayantha).</description>
    <link>https://dev.to/tharindu_damayantha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4221576%2F4ae8aac9-5d6c-4780-9776-3ffbe3bc29d8.jpg</url>
      <title>DEV Community: Tharindu Damayantha</title>
      <link>https://dev.to/tharindu_damayantha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tharindu_damayantha"/>
    <language>en</language>
    <item>
      <title>I built an open-source, self-hostable AI customer support platform with an 81-tool MCP server (Intercom &amp; Zendesk alternative)</title>
      <dc:creator>Tharindu Damayantha</dc:creator>
      <pubDate>Sat, 07 Nov 2026 18:48:08 +0000</pubDate>
      <link>https://dev.to/tharindu_damayantha/i-built-an-open-source-self-hostable-ai-customer-support-platform-with-an-81-tool-mcp-server-45c2</link>
      <guid>https://dev.to/tharindu_damayantha/i-built-an-open-source-self-hostable-ai-customer-support-platform-with-an-81-tool-mcp-server-45c2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjxs087wvp84hkhq2pvpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjxs087wvp84hkhq2pvpl.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Traditional customer support platforms like Intercom and Zendesk have a pricing problem that hurts modern engineering and product teams in two ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Per-Seat Taxes ($55–$165/seat/month):&lt;/strong&gt; Want your engineers, product managers, or founders to have access to the customer support inbox? You either pay hundreds of dollars per seat or share a single login across the company.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-Resolution AI Taxes ($0.99/resolution):&lt;/strong&gt; On top of your monthly seat licenses, letting an AI agent answer a customer's question costs an extra ~$1 per ticket. A viral launch or traffic spike suddenly turns into a massive bill.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wanted a customer support platform that was &lt;strong&gt;open-source (MIT)&lt;/strong&gt;, &lt;strong&gt;self-hostable via Docker&lt;/strong&gt;, and treated &lt;strong&gt;AI agents + Model Context Protocol (MCP)&lt;/strong&gt; as first-class citizens rather than expensive add-ons.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Chatty&lt;/strong&gt;:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/PersonaliAI" rel="noopener noreferrer"&gt;
        PersonaliAI
      &lt;/a&gt; / &lt;a href="https://github.com/PersonaliAI/chatty" rel="noopener noreferrer"&gt;
        chatty
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open-source, self-hostable Zendesk and Intercom alternative for AI customer support: chat widget, shared inbox, real-time voice, Multimodal RAG, and MCP.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/PersonaliAI/chatty/main/backend/assets/chatty-icon.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FPersonaliAI%2Fchatty%2Fmain%2Fbackend%2Fassets%2Fchatty-icon.png" alt="Chatty" width="88"&gt;&lt;/a&gt; &lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/PersonaliAI/chatty/main/backend/assets/readme-icon.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FPersonaliAI%2Fchatty%2Fmain%2Fbackend%2Fassets%2Freadme-icon.png" alt="Chatty" width="88"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Chatty by PersonaliAI&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a href="https://github.com/PersonaliAI/chatty/README.md" rel="noopener noreferrer"&gt;English&lt;/a&gt; ·
  &lt;a href="https://github.com/PersonaliAI/chatty/README.zh-CN.md" rel="noopener noreferrer"&gt;简体中文&lt;/a&gt; ·
  &lt;a href="https://github.com/PersonaliAI/chatty/README.ja.md" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; ·
  &lt;a href="https://github.com/PersonaliAI/chatty/README.es.md" rel="noopener noreferrer"&gt;Español&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Open-source AI agent trained on your store and content.&lt;br&gt;Answers customer questions, captures leads, and books meetings on website, WhatsApp &amp;amp; Slack.&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a href="https://chatty.personaliai.com" rel="nofollow noopener noreferrer"&gt;&lt;b&gt;🚀 Live Demo&lt;/b&gt;&lt;/a&gt; &amp;nbsp;·&amp;nbsp;
  &lt;a href="https://chatty.personaliai.com/signup" rel="nofollow noopener noreferrer"&gt;&lt;b&gt;☁️ Chatty Cloud (Free 14-day trial)&lt;/b&gt;&lt;/a&gt; &amp;nbsp;·&amp;nbsp;
  &lt;a href="https://github.com/PersonaliAI/chatty#-quick-start-docker-compose" rel="noopener noreferrer"&gt;&lt;b&gt;⚡ Quickstart (5 min)&lt;/b&gt;&lt;/a&gt; &amp;nbsp;·&amp;nbsp;
  &lt;a href="https://docs.chatty.personaliai.com" rel="nofollow noopener noreferrer"&gt;&lt;b&gt;📖 Documentation&lt;/b&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://render.com/deploy?repo=https://github.com/PersonaliAI/chatty" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c3053e93bc9f0a2cd84050a5ff9f07cc5e639621a72e50dce48781f4a38f10e2/68747470733a2f2f72656e6465722e636f6d2f696d616765732f6465706c6f792d746f2d72656e6465722d627574746f6e2e737667" alt="Deploy to Render"&gt;&lt;/a&gt;
  &amp;nbsp;
  &lt;a href="https://railway.com/template/chatty-open-source-ai-customer-support-a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/88cb27bf937b98276737ba7888269a1bc9495d8670f63e1acc908b3442841114/68747470733a2f2f7261696c7761792e636f6d2f627574746f6e2e737667" alt="Deploy on Railway"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Chatty is an open-source, self-hostable &lt;strong&gt;Zendesk and Intercom alternative&lt;/strong&gt; for stores and modern businesses that need autonomous AI customer support with human takeover, WooCommerce sync, and calendar scheduling.&lt;/p&gt;

&lt;p&gt;Run the application containers on your own host while keeping Supabase Auth
Postgres, Storage, and Realtime managed. The same deployment contract works on
a VPS, Railway, Render, or another Docker host without touching the live
Supabase project.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/PersonaliAI/chatty/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty#-gdpr--enterprise-data-privacy" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/bd2946c992713bc90cb6665ad283e595aa93e46dc8ef04fe484b3525188d9359/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f474450522d313030253235253230436f6d706c69616e742d3030333339393f6c6f676f3d736869656c64266c6f676f436f6c6f723d666663633030" alt="GDPR Compliant"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty/frontend" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8e285d6c04022c2a7b4d9c10ab4261dae0236525c30a21caddeb90740d2294bb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6578742e6a732d31352d626c61636b3f6c6f676f3d6e6578742e6a73" alt="Next.js"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty/backend" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fa1fc02515bec9fcc9ee46636dfd1af5636c61dcdc262cd9a2f82b132cd73412/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466173744150492d507974686f6e253230332e31312d3030393638383f6c6f676f3d66617374617069266c6f676f436f6c6f723d7768697465" alt="FastAPI"&gt;&lt;/a&gt;
&lt;a href="https://supabase.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/95d6c509f4b88342f6c5ba11da08819bf8299fe9aa308878060ce1410c8dab5a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f44617461626173652d53757061626173652d3345434638453f6c6f676f3d7375706162617365266c6f676f436f6c6f723d7768697465" alt="Supabase"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty#mcp-server--agent-control" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/324856b70cc67a2b7c8296ff9527a906e2eb6f55b906167d7821b5fbf6f12904/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466173744d43502d3831253230546f6f6c732d386235636636" alt="MCP"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty/docker-compose.yml" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a24aac8a1492431ae106d02455e203372698d3173006cf51a9a34a5490a6340/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4465706c6f792d446f636b6572253230436f6d706f73652d3234393645443f6c6f676f3d646f636b6572266c6f676f436f6c6f723d7768697465" alt="Docker"&gt;&lt;/a&gt;
&lt;a href="https://github.com/PersonaliAI/chatty/CONTRIBUTING.md" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dd0b24c1e6776719edb2c273548a510d6490d8d25269a043dfabbd38419905da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667" alt="PRs Welcome"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://chatty.personaliai.com" rel="nofollow noopener noreferrer"&gt;Chatty Cloud (hosted)&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com" rel="nofollow noopener noreferrer"&gt;Documentation&lt;/a&gt; · &lt;a href="https://github.com/PersonaliAI/chatty/frontend/src/app/(legal)/dpa/page.tsx" rel="noopener noreferrer"&gt;Data Processing (DPA)&lt;/a&gt; · &lt;a href="https://github.com/PersonaliAI/chatty/frontend/src/app/(legal)/subprocessors/page.tsx" rel="noopener noreferrer"&gt;Sub-processors&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/scorecard" rel="nofollow noopener noreferrer"&gt;Performance Scorecard&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/flow-architect" rel="nofollow noopener noreferrer"&gt;Flow Builder&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/embed-widget" rel="nofollow noopener noreferrer"&gt;Widget Embed&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/human-takeover" rel="nofollow noopener noreferrer"&gt;Secure customer identity&lt;/a&gt; · &lt;a href="https://github.com/PersonaliAI/chatty#-quick-start-docker-compose" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/self-hosting" rel="nofollow noopener noreferrer"&gt;Platform Runbook&lt;/a&gt; · &lt;a href="https://github.com/PersonaliAI/chatty#mcp-server--agent-control" rel="noopener noreferrer"&gt;MCP Server&lt;/a&gt; · &lt;a href="https://docs.chatty.personaliai.com/guides/ai-coding-plugins" rel="nofollow noopener noreferrer"&gt;AI&lt;/a&gt;…&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/PersonaliAI/chatty" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;🔗 &lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/PersonaliAI/chatty" rel="noopener noreferrer"&gt;https://github.com/PersonaliAI/chatty&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🌐 &lt;strong&gt;Live Demo &amp;amp; Cloud:&lt;/strong&gt; &lt;a href="https://chatty.personaliai.com" rel="noopener noreferrer"&gt;https://chatty.personaliai.com&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🏗️ What We Built Under the Hood
&lt;/h2&gt;

&lt;p&gt;Chatty isn't just a thin wrapper around an LLM prompt. It's a full-stack customer operations platform designed for real production workloads:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. An 81-Tool Model Context Protocol (MCP) Server
&lt;/h3&gt;

&lt;p&gt;Most support platforms force you to click through dozens of dashboard menus to update knowledge bases, check unanswered tickets, or inspect CSAT trends.&lt;/p&gt;

&lt;p&gt;Chatty ships with a native &lt;strong&gt;81-tool MCP server&lt;/strong&gt; (&lt;code&gt;integrations/mcp-server&lt;/code&gt;). You can connect &lt;strong&gt;Claude Desktop&lt;/strong&gt;, &lt;strong&gt;Cursor&lt;/strong&gt;, &lt;strong&gt;Windsurf&lt;/strong&gt;, or any MCP client and control your entire support operation from your IDE or AI workspace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create &amp;amp; configure chatbots (&lt;code&gt;create_chatbot&lt;/code&gt;, &lt;code&gt;update_chatbot_instructions&lt;/code&gt;, &lt;code&gt;configure_guardrails&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Ingest &amp;amp; test RAG knowledge (&lt;code&gt;crawl_website_knowledge&lt;/code&gt;, &lt;code&gt;upload_knowledge_document&lt;/code&gt;, &lt;code&gt;test_rag_retrieval&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Manage the live inbox (&lt;code&gt;list_conversations&lt;/code&gt;, &lt;code&gt;get_conversation_transcript&lt;/code&gt;, &lt;code&gt;human_agent_takeover&lt;/code&gt;, &lt;code&gt;send_agent_message&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Discover knowledge gaps &amp;amp; audit performance (&lt;code&gt;discover_knowledge_gaps&lt;/code&gt;, &lt;code&gt;get_bot_performance_scorecard&lt;/code&gt;)
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"chatty"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@personaliai/chatty-mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"CHATTY_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ck_live_your_api_key"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Multimodal RAG + Live E-Commerce Catalog Sync
&lt;/h3&gt;

&lt;p&gt;Standard text-only RAG fails when a customer uploads a screenshot of a broken UI, a receipt, or a photo of a product they want to buy.&lt;/p&gt;

&lt;p&gt;Chatty uses &lt;strong&gt;PostgreSQL + &lt;code&gt;pgvector&lt;/code&gt;&lt;/strong&gt; with multimodal embeddings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website &amp;amp; Document Ingestion:&lt;/strong&gt; Crawl docs, sitemaps, help center articles, PDFs, DOCX, CSV, and Google Drive/Dropbox folders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WooCommerce &amp;amp; Product Catalogs:&lt;/strong&gt; Syncs live product inventory, pricing, variations, and product images so visitors can search visually or ask &lt;em&gt;"Do you have this in medium under $50?"&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Citations:&lt;/strong&gt; Every AI reply links back to the exact source document or product card.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  3. Shared Human + AI Inbox (With Instant Takeover)
&lt;/h3&gt;

&lt;p&gt;AI shouldn't trap customers in an endless loop when they need a human.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automatic Escalation:&lt;/strong&gt; When a visitor asks for a human—or when sentiment drops—Chatty triggers a notification via &lt;strong&gt;Slack&lt;/strong&gt;, &lt;strong&gt;Email&lt;/strong&gt;, or the &lt;strong&gt;Shared Web Inbox&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless Pause:&lt;/strong&gt; The moment a human agent replies (either from the Chatty dashboard or directly from a Slack thread), the AI assistant automatically pauses for that session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Omnichannel Routing:&lt;/strong&gt; Handle conversations from the &lt;strong&gt;Shadow-DOM Web Widget&lt;/strong&gt;, &lt;strong&gt;WhatsApp&lt;/strong&gt;, &lt;strong&gt;Instagram DM&lt;/strong&gt;, &lt;strong&gt;Facebook Messenger&lt;/strong&gt;, and &lt;strong&gt;TikTok Business&lt;/strong&gt; in one unified inbox.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  4. In-Chat Meeting Booking &amp;amp; Native Checkouts
&lt;/h3&gt;

&lt;p&gt;Instead of sending users away to external links where they drop off, Chatty executes actions directly inside the chat thread:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Calendar Sync:&lt;/strong&gt; Connects to &lt;strong&gt;Google Calendar&lt;/strong&gt; and &lt;strong&gt;Microsoft 365 / Outlook&lt;/strong&gt; to check real-time team availability and book meetings with timezone auto-detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In-Chat Payments:&lt;/strong&gt; Generate checkout cards inside the conversation using &lt;strong&gt;Stripe&lt;/strong&gt;, &lt;strong&gt;Lemon Squeezy&lt;/strong&gt;, &lt;strong&gt;PayPal&lt;/strong&gt;, or &lt;strong&gt;Polar&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  5. Visual State-Machine Flow Builder
&lt;/h3&gt;

&lt;p&gt;Sometimes you want free-form LLM reasoning; other times (like refund eligibility or order lookups) you need strict, deterministic rules.&lt;/p&gt;

&lt;p&gt;Chatty includes a visual node-based &lt;strong&gt;Flow Builder&lt;/strong&gt; where you can combine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Condition &amp;amp; branching nodes&lt;/li&gt;
&lt;li&gt;Webhook / HTTP request nodes&lt;/li&gt;
&lt;li&gt;Lead capture &amp;amp; identity verification nodes&lt;/li&gt;
&lt;li&gt;Guardrailed AI response nodes&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ The Tech Stack
&lt;/h2&gt;

&lt;p&gt;We kept the stack clean, modern, and easy to self-host:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python 3.11+, FastAPI, Asyncio, Pydantic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database &amp;amp; Vector Store:&lt;/strong&gt; Supabase (PostgreSQL + &lt;code&gt;pgvector&lt;/code&gt; + Realtime + Storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js (App Router), TypeScript, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Widget &amp;amp; SDKs:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Zero-conflict Shadow-DOM Web Widget (&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; 1-line embed)&lt;/li&gt;
&lt;li&gt;React SDK (&lt;code&gt;@personaliai/chatty-react&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Flutter SDK (&lt;code&gt;chatty_flutter&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;WordPress &amp;amp; WooCommerce plugin&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🚀 How to Try It or Self-Host
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Option 1: Self-Host via Docker (100% Free &amp;amp; Open Source)
&lt;/h3&gt;

&lt;p&gt;Chatty is &lt;strong&gt;MIT licensed&lt;/strong&gt;. You can run the entire stack on your own infrastructure and bring your own API keys (Google Gemini, OpenAI, Anthropic Claude, Groq, DeepSeek, or OpenRouter):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/PersonaliAI/chatty.git
&lt;span class="nb"&gt;cd &lt;/span&gt;chatty
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
docker compose up &lt;span class="nt"&gt;--build&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Option 2: Try the Live Demo or Cloud Hosted
&lt;/h3&gt;

&lt;p&gt;If you don't want to manage servers, vector indexes, and webhook workers yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Interactive Demo:&lt;/strong&gt; &lt;a href="https://chatty.personaliai.com" rel="noopener noreferrer"&gt;https://chatty.personaliai.com&lt;/a&gt; &lt;em&gt;(Test the widget right on the landing page)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flat-Rate Cloud Plans:&lt;/strong&gt; Unlimited team seats on every tier (no per-agent or per-resolution fees), starting with a 14-day free trial.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙏 Feedback &amp;amp; Contributions Welcome!
&lt;/h2&gt;

&lt;p&gt;We're actively building out more MCP capabilities, omnichannel adapters, and RAG evaluation tools. &lt;/p&gt;

&lt;p&gt;If you find this useful, &lt;strong&gt;a ⭐️ on GitHub helps us a ton&lt;/strong&gt;:&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://github.com/PersonaliAI/chatty" rel="noopener noreferrer"&gt;https://github.com/PersonaliAI/chatty&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts in the comments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How are you currently handling AI customer support or RAG in production?&lt;/li&gt;
&lt;li&gt;What MCP tools or integrations would make your workflow easier?&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
    </item>
  </channel>
</rss>
