Smart Support & Community Tool

Open source on GitHub

I was getting overwhelmed with customer support.

I was getting tens of millions of views and hundreds of thousands of followers across my platforms and the volume of customer questions, social media comments, and community messages was way too much for one person. But I couldn't just hand it off to someone else either — the knowledge lived in my head, and the way I talk to my community is very specific. If someone replied on my behalf and got the tone wrong or gave inaccurate information, that's worse than not replying at all.

So I built a tool. I've since open-sourced it.

GitHub
andripeetso/community-support-tool
andripeetso
0🍴 0📂 0 issues
Python 44.6%JavaScript 33.4%CSS 17.1%HTML 4.9%

It's not a custom GPT or a chatbot with a system prompt. Here's what it actually does:

It's basically a toolset that multiplies me — so anyone else can take over and respond and engage my community in my voice.

the chat

The front end is a chat interface where you paste in a customer question or a social media comment and the AI drafts a response.

the chat

It's not just spitting out generic answers — it evaluates the issue type, assigns a confidence level, and flags whether the question is something the business handles or if it's a community question that doesn't need a formal response. All of that context shows up so whoever is responding can make the call on whether to use the draft, tweak it, or write something different.

The responses sound like me. I spent a lot of time getting this right and I'm genuinely proud of how it types — warm, friendly, knowledgeable, not the overly enthusiastic "Great question!!!" thing that most AI does. It sets the right tone for the community and keeps things feeling personal even when it's not me typing.

There's voice transcription if you don't want to type, image upload for when people send screenshots, and you can switch between Claude models if you need smarter answers for trickier questions. The whole thing works as a PWA so it runs natively on mobile too — which matters because a lot of the social media replies happen on the go.

social media & community

This isn't just customer support. A huge part of what it handles is social media comment replies and community management.

When you're getting hundreds of comments across Instagram, YouTube, Facebook — you can't reply to all of them yourself but you also can't just ignore them. And you definitely can't have someone reply with generic copy-paste responses because people can tell and it kills the vibe.

So the AI drafts replies to social media comments in my voice, with real knowledge from the product and content. It keeps the community feeling warm and open even at scale. That's the multiplier effect — instead of me being the bottleneck on every interaction, anyone helping can maintain the same level of engagement.

permissions & access

I can give people different levels of access. The system decides who can respond to what — so if I bring on someone to help with customer support, I can give them permissions and be confident they'll get accurate information from the knowledge base and reply in the right tone. If something needs my direct attention, it gets escalated to me through Slack instead of someone guessing at the answer.

This is really the core of it. The whole point is that I can bring people on and they can actually do a good job because the system gives them everything they need — the knowledge, the tone, the context. It's not "here's a Google Doc, good luck." It's a system that actively helps them give great responses.

the playbook

Behind the chat there's a full playbook — a living knowledge base organized into categories.

the playbook

Standard Operating Procedures, Response Templates, Voice & Tone guides, Goals & Policies, Product Knowledge, Strategic Notes, Tracking & Logs, QA Review — all searchable, all editable, all used by the AI when drafting responses.

playbook sidebar

There are workflow sections for Escalations, Feature Requests, and Extended Refunds that track items in real time with notification badges. So when something needs attention it's visible immediately.

playbook search

The search pulls results across all categories — type "refund" and it surfaces the SOP, the canned response templates, and the relevant policies all at once.

The key thing is this isn't a static FAQ. It's a living document.

how it pulls knowledge

When someone asks a question the system runs BM25 retrieval across everything in the system:

Every response shows its sources so you can see exactly where the information came from. This is how I know the information going out is accurate — it's not hallucinating, it's pulling from verified knowledge.

When the internal knowledge isn't enough it does actual web search via the Brave API. For deeper research questions it can use the Perplexity API to do proper academic-style research with citations.

All of this happens through tool calls that the AI chains together on its own. It might start with a BM25 lookup, realize the knowledge base doesn't have enough, trigger a web search, then trigger a Perplexity deep dive, then save all the findings back into the playbook — all in one conversation, self-directed.

the self-improving part

This is the part I'm most proud of honestly.

After a conversation where research was done or new knowledge was generated, I can tell the AI "save all of this into the database and create a new SOP for how to handle this type of question." And it does. It calls the API to write the SOP, files it in the right playbook category, and pushes Slack notifications that the playbook was updated.

But it goes further than that. The system can research and upgrade its own knowledge base without being asked. It recognizes gaps — if a question comes in that it can't answer well, it can go do the research, save the results, create the SOP, and the next time that question comes up the answer is already there. It's self-recursive in the truest sense: every conversation makes the system more capable for the next one.

workflow stuff

The AI scans conversations and automatically generates:

feature requests

The whole thing is wired into Slack. Playbook updates, escalations, new tickets — everything triggers notifications so nothing falls through the cracks. If someone in the community needs something added to my list or needs me to look at something, it gets routed to me automatically. Everyone has their own account with individual notes and chat history so I can track what's been handled and by whom.

the embeddable widget

There's a widget API that drops a floating chat bubble into any external site. It's a single API call — embed the script, and the widget appears as a small button in the corner. Click it and you get the full chat interface right there on the page.

widget chat

The widget gives you quick actions — open the full support tool, continue an existing conversation, or start a new chat — all without leaving the page you're on.

widget actions

The conversation still gets logged, the playbook still gets updated, and the system keeps getting smarter — it's just a more seamless way to use it. Whoever is helping with CS can ask their question with full context of what's on screen and get an answer right there.