Lovable
Very fast at a channels-and-messages UI on Supabase with realtime.
Team chat · updated 2026-11-03
Hard: Only a slice A web chat with channels for a small team is buildable, but notifications, mobile apps, search and reliability are why teams pay for Slack.
Channels, messages and realtime updates are a classic tutorial project and AI tools generate them well. Daily use exposes the gaps: push notifications on phones, unread state across devices, search over years of messages, file handling, integrations and uptime. For a small team that wants to own its chat, self-hosting an existing open-source chat app is usually wiser than building one.
Slack is team chat with channels, direct messages, threads, file sharing and integrations. This page is about building your own version for personal or internal use, or to learn how this kind of product works, not about copying Slack to compete with it. How we grade.
Difficulty is for a solo builder using an AI coding tool. Skip means not worth building yourself.
| Feature | Difficulty | Why |
|---|---|---|
| Channels and messages | Easy | Postgres tables plus Supabase Realtime or a websocket service. |
| Direct messages | Easy | A private channel type with two or more members. |
| Threads and reactions | Easy | parent_id on messages and a reactions table. |
| Unread counts across devices | Medium | Track last_read per user per channel and update in realtime. |
| File uploads | Medium | Private storage, signed URLs, previews and size limits. |
| Search | Medium | Postgres full-text search works for a small team; permission-aware filtering is essential. |
| Push notifications | Hard | Web push is doable; native mobile apps and notification preferences are a big project. |
| Bots and integrations | Medium | Incoming webhooks are easy; an app platform is not. |
| Voice and video huddles | Skip | WebRTC infrastructure; use a meeting tool. |
Your own version vs Slack, at personal or small-team scale.
Pro: $7.25/mo/seat billed annually
Pro is $7.25 per active user per month billed yearly or $8.75 monthly. The free plan keeps 90 days of message history.
Source: slack.com/pricing/pro. Prices change; check before deciding.
| Running cost | Per month | Notes |
|---|---|---|
| Database with realtime | $0–$25 | Supabase free or Pro; realtime connection limits rise on paid tiers. |
| Hosting | $0–$20 | Vercel or Netlify free tier, or a VPS for a websocket server. |
| File storage | $0–$5 | Object storage at cents per GB. |
| Total | $0–$50/mo | Saves up to $87 a year vs Slack Pro per seat; at the top of the range it costs $513 a year more. |
Very fast at a channels-and-messages UI on Supabase with realtime.
Better for the unread-state logic, search and permission checks that need care.
Easy to host a websocket server if you prefer it over a managed realtime service.
Paste it into your tool, then ask for a plan before any code. Edit the specifics to match what you need.
Build a small team chat for my team of under 15 people, for internal use. Not a public product. Stack: Next.js, Supabase (Postgres, auth, Realtime, storage). Data model: workspaces, members (workspace_id, user_id, role), channels (id, workspace_id, name, is_private, is_dm), channel_members (channel_id, user_id, last_read_at, notify: all | mentions | none), messages (id, channel_id, user_id, parent_id, body, edited_at, deleted_at, created_at), reactions (message_id, user_id, emoji), files (message_id, storage_path, name, size). Requirements: - Channel sidebar with unread counts and mention badges, updated in realtime. - Message list with infinite scroll, threads in a side panel, reactions, edit and delete. - Mentions with @name and browser notifications via the Web Push API. - Postgres full-text search, only over channels the user belongs to. - File uploads to private storage with signed download URLs. - Incoming webhooks per channel for alerts from other tools. Security: - Row Level Security on channels, messages and files so private channels and DMs are only visible to members. - Render messages as sanitised Markdown; no raw HTML. - Webhook URLs contain random secrets and can be revoked. - Invite-only signup with expiring invite links.
AI tools often get these wrong by default. Check each one before anyone else uses the app.
They went far past the prototype: support, payments, reliability and years of iteration. Their profiles show what that took.
Jason Fried built Campfire
Self-hosted group chat sold as a ONCE product, later released as open source.
Jason Fried built Basecamp
Project management and team communication tool from 37signals.
If you need Slack's job done rather than a project, these are built and supported by independent makers.
You learn realtime data, authorisation that covers queries, subscriptions and search, and how unread state works.
Hard. A web chat with channels for a small team is buildable, but notifications, mobile apps, search and reliability are why teams pay for Slack.
A working personal or internal MVP takes about 6 h–2 days with a tool like Lovable. A polished version you would rely on every day takes about 13–38 days, mostly spent on push notifications on ios and android that arrive reliably.
Expect $0–$50/mo at personal or small-team scale (database with realtime, hosting, file storage). Slack Pro costs $7.25/mo/seat (checked 2026-11-03), so the most you would save is $87 a year, before counting your time.
A web chat with channels, threads and realtime messages is a common vibe coding project and works for a small team. Mobile push notifications, search and reliability are the parts that take serious effort.
Yes. Open-source chat apps such as Campfire from 37signals, Mattermost and Zulip can be self-hosted and are more mature than a fresh build.
For a small team, a free or $25 per month database tier and free hosting usually cover it. The real cost is the time to maintain it and fix it when it breaks.
Building your own tool that solves the same problem is common and generally fine. Copying Slack's code, design assets, brand name or content is not. Use your own name and design, respect their terms of service, and get proper advice if you plan to sell it. This page is not legal advice.