Channels and real-time messages are a well-documented WebSocket pattern — the actual chat loop is genuinely buildable. What you'd be giving up is the app ecosystem your team already relies on.
Borderline
Effort: a weekendRunning cost: $5–$10/mo
Why CanICodeThis says Borderline
Channels, messages, and threaded replies map to a clean schema plus WebSockets for real-time delivery
File sharing and emoji reactions are small additions on top of a working message pipeline
For a small team's text-only chat, this is genuinely a weekend, not a platform
The parts that'll cause problems
Every integration your team currently relies on (calendar bots, CI notifications, ticketing) doesn't come with a custom build
Reliable message delivery across flaky mobile connections needs real engineering care, not just an open WebSocket
Voice or video calls layer real-time media infrastructure on top — a different, harder problem than text
How I'd build this
frontend
Next.js
database
Supabase (with Realtime)
auth
Supabase Auth
hosting
Vercel / Cloudflare Pages
MVP scope
Channels with real-time text messages
Threaded replies and emoji reactions
File attachments
Simple invite-link based membership
Postpone to v2
Third-party integrations (bots, webhooks)
Voice or video calls
Message search across full history
Mobile push notifications
What it actually costs to build
AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)
$0 marginal
AI agent — pay-per-use API, no subscription
$43–$86 one-time
Hosting, once it's running
$5–$10/mo
Domain name, if you want your own
~$12/yr
Existing tools solving a similar problem typically run $8.75–$9.99/mo — see how they compare below.
The build prompt
Build me a small-team chat app: channels, real-time text messages over WebSockets, threaded replies, emoji reactions, and file attachments. Message history stored in Postgres. Simple invite-link based accounts. Skip voice/video and third-party integrations entirely for v1.