BenchmarksComparisons
Vibe Coding Benchmark: Building a Slack Clone
A hands-on, direct comparison test of vibe coding tools using the exact same prompt.

Dan Cleary
Founder
January 23, 2026
Vibe coding went mainstream in 2025. The prompt-to-app flow finally started to work. The first few prompts feel magical, but most AI app builders still have major limitations.
This post runs a true apples-to-apples test: the same prompt across the major vibe-coding platforms, scored against the same checklist.
If you prefer video, here’s the full comparison.
Tools tested
I tested:
- Converge
- Lovable
- Bolt
- Replit
- v0
The prompt
Build an app similar to Slack with the following features:
- Has a channels panel on the left with a button to create new channels
- Has a message pane on the right and a message posting box at the bottom
- Each message has a name and avatar next to it for the author
- Has an “edit profile” tab for uploading a profile photo to storage and changing your name
- Only the messages are scrollable, with message box and channel selector fixed like the header
- Automatically scrolls to the bottom when new messages are sent
- Includes a search bar at the top that queries all messages
- Show when someone else is actively typing in the same channel
- Typing indicators must automatically clear as soon as the user sends a message
- Channels can be private and only visible to users added to them; public channels viewable by all
- Each channel in the sidebar should show how many unread messages a user has
- Users can pin important messages to the top of each channel
- All users can belong to the same workspace so they can see and access all the same channels
Scoring checklist (13 points total)
- Auth
- Backend
- Create channel
- Send message in channel
- Edit profile (storage)
- Only messages scroll; input + channels fixed
- Auto-scroll to newest message
- Search messages
- Real-time sync
- Pinned messages
- Typing indicator
- Private channels
- Message badges
Test setup
- Start a fresh project
- Use the exact same prompt
- Evaluate the first generation only (no fixing)
- No third-party integrations by me
- One point per working checklist item
Platform-by-platform breakdown
Score summary: Converge 13/13, Replit 5/13, v0 3/13, Bolt 2/13, Lovable 0/13.
1) v0
v0 immediately asked me to set up a Supabase integration for the backend (database and functions).
In my experience, Supabase integrations are fragile. The AI struggles to keep backend and database in sync, and it forces the user to manage another tool entirely. Since nothing worked out of the box (a huge negative) and other platforms handle this for you, I didn’t install Supabase.

Backends via third-party integrations are brittle: migrations, auth sync, schema drift, token burn. It just doesn’t work well.

Results
- Auth — ❌
- Backend — ❌
- Create channel — ❌
- Send message in channel — ❌
- Edit profile (storage) — ❌
- Only messages scroll; input + channels fixed — ✅
- Auto-scroll to newest message — ✅
- Search messages — ❌
- Real-time sync — ❌
- Pinned messages — ✅
- Typing indicator — ❌
- Private channels — ❌
- Message badges — ❌
Score: 3/13
The UI looked okay, but without a working backend or database, the app is unusable beyond a demo.
If I installed Supabase, I’d be manually running scripts I didn’t write, just for it to still not work. (The email verification codes for sign-up get sent to a localhost address.)

2) Bolt
Bolt was underwhelming.
It no longer requires you to connect Supabase yourself, they “handle” it in their cloud. That’s better than v0, but the agent still struggles with backend code, functions, and keeping everything in sync with the frontend.
The first generation produced tables for channels, messages, and users. But none of the functionality worked together. Creating a channel threw errors that didn’t surface in the UI, I had to open the console, which defeats the whole point of these tools.


Results
- Auth — ✅
- Backend — ❌ (tables created, but couldn’t write to them)
- Create channel — ❌
- Send message in channel — ❌
- Edit profile (storage) — ✅
- Only messages scroll; input + channels fixed — ❌
- Auto-scroll to newest message — ❌
- Search messages — ❌
- Real-time sync — ❌
- Pinned messages — ❌
- Typing indicator — ❌
- Private channels — ❌
- Message badges — ❌
Score: 2/13
Even after a few more prompts (see video), Bolt continued to struggle. The data sync was never real-time. If I sent a message to a teammate, they only saw it after refreshing the page.
3) Lovable
Lovable was the most disappointing tool I tested.
Like Bolt, it generated a backend and database tables, but none of the functionality was actually wired up. Auth failed immediately, I couldn’t even get past the sign-up screen.

Results
- Auth — ❌
- Backend — ❌ (tables created, but couldn’t write to them)
- Create channel — ❌
- Send message in channel — ❌
- Edit profile (storage) — ❌
- Only messages scroll; input + channels fixed — ❌
- Auto-scroll to newest message — ❌
- Search messages — ❌
- Real-time sync — ❌
- Pinned messages — ❌
- Typing indicator — ❌
- Private channels — ❌
- Message badges — ❌
Score: 0/13
Lovable can generate a nice-looking prototype, but with auth broken from the start and most essential features non-functional, it was the worst tool I tested. It’s a prototyping tool, not something that builds real apps.
4) Converge.run
Converge handled the task extremely well, the app “just worked” and all the backend functionality was rock solid.
Right out of the box, everything worked. Auth worked instantly, including anonymous sign‑in, which is helpful for fast testing.

Converge was in a different league. While every other platform struggled with the basics (auth, backend wiring, persistence), Converge generated a fully functional Slack clone on the first try.
It handled backend, database schema, auth, storage, real‑time listeners, and UI all at once with no setup, no Supabase dashboard, and no manual wiring.
The real-time sync was the most impressive part. Messages appeared instantly for everyone with no refresh.
Results
- Auth — ✅
- Backend — ✅
- Create channel — ✅
- Send message in channel — ✅
- Edit profile (storage) — ✅
- Only messages scroll; input + channels fixed — ✅
- Auto-scroll to newest message — ✅
- Search messages — ✅
- Real-time sync — ✅
- Pinned messages — ✅
- Typing indicator — ✅
- Private channels — ✅
- Message badges — ✅
Score: 13/13
The biggest difference is that Converge understands full‑stack logic. It doesn’t just generate UI. It wires backend, database, and frontend functionality together correctly, with no third‑party integrations required.
5) Replit
Replit took 45 minutes and cost $7.61.

It did perform second‑best overall, so the extra time led to a more stable app. But it’s still a wild amount of time and money. For reference, Converge took about 3 minutes, cost $0.50, and produced a significantly better result.

UI is simple but the functionality is solid.
Replit uses its own auth for preview deployments, meaning you sign in with your Replit account. That’s not realistic for a real app, and because of that I couldn’t test what a true app‑level auth flow would look like.
Results
- Auth — ❌ (uses Replit account auth, not production auth)
- Backend — ✅
- Create channel — ✅
- Send message in channel — ✅
- Edit profile (storage) — ❌
- Only messages scroll; input + channels fixed — ✅
- Auto-scroll to newest message — ❌
- Search messages — ❌
- Real-time sync — ❌
- Pinned messages — ❌
- Typing indicator — ❌
- Private channels — ✅
- Message badges — ❌
Score: 5/13
Compared to Converge, Replit didn’t stack up. Compared to the other AI app builders, it did pretty well, but the cost/time tradeoff is massive.
Final scores (highest → lowest)
- Converge — 13/13
- Replit — 5/13
- v0 — 3/13
- Bolt — 2/13
- Lovable — 0/13

Wrapping up
To be blunt, these AI app builders don’t work well if you need to build anything real (backend, databases, functions). I was shocked at how poorly they performed on a relatively simple prompt.
Vibe coding is extremely promising, but it’s still early. With Converge we’re closing the gap between what you want to build and something that actually works.
If you give Converge a try, feel free to send feedback, feature requests, or complaints in our Discord or directly to me. We want to make something people truly love.