I’ve spent significant time and money trying to build a self-hosted Live Chat system using Cursor and it’s been impossible to get a working result.
What I needed: AI auto-replies via Claude or ChatGPT API based on predefined Q&A, a stats dashboard in admin panel, conversation storage with editable Q&A, and Telegram Bot integration where after a few messages the user can connect with a live operator who gets notified on Telegram and can reply in real time.
All technically doable. I tried every model: Claude Opus 4.6, Composer, ChatGPT. Every time the code was broken, full of errors, and the design was awful. Deleted everything multiple times.
Millions of businesses need self-hosted Live Chat. Nobody wants to pay third-party subscriptions and hand over customer conversations to external servers. This use case is completely ignored right now.
Please prioritize this. Whoever solves it first wins a massive market.
My first reaction is that building something like this should be well within Cursor’s wheelhouse. Streaming chat might be a bit tricky, but it’s definitely not impossible.
I’m curious: what did Cursor get hung up on the most? Which parts of the app gave you trouble? What specific errors were you seeing? Did it struggle with the streaming implementation, the chat UI, state management, or something else entirely?
Some of the tips here might seem basic, but a few of them, like starting with plans, can be really helpful for the parts of your application that Cursor doesn’t one-shot well.
Honestly, every single step of the process comes with problems and errors. That is why I genuinely recommend you try building a self-hosted live chat from scratch with Cursor yourself. You will see firsthand where it breaks.
Concrete issues I ran into:
Message streaming: Cursor struggles with WebSocket and SSE implementations. The code looks correct but connections drop or messages get duplicated.
State management: Handling concurrent conversations across multiple users creates race conditions that Cursor does not catch until many iterations later.
Chat UI: Auto-scroll, typing indicators, long message handling, none of it works on the first try and requires constant manual fixing.
Message persistence: Syncing the database with the live chat state produces inconsistencies.
Auth and sessions: Especially on the self-hosted side, configuring sessions properly for anonymous versus authenticated users becomes a mess.
Reconnect logic: When a user loses connection, Cursor fails to implement proper auto-reconnect without losing messages.
I would be genuinely curious if your team ran a real end-to-end test, trying to ship a working live chat using only Cursor. I think you would quickly discover exactly where it falls apart.
Thanks for the tips about starting with plans, I will give them a try.