Pumble icon

Can I vibecode Pumble?

price $2.99/moyou'd save $35.88/yrbuild time multi-daycategory communityreplaced by 0 people
KINDA
MOATcollaborationinfrastructure scalenetwork effects

The core loop is buildable, but a dependable replacement becomes a real weekend or multi-day project. For Pumble, run straightforward team channels, direct messages, threads, and file sharing. The hard boundary is cross-platform apps, push, guest access, admin controls, and hosted reliability, plus network, moderation, and communication infrastructure.

In-List Ad$79/30 days
promote your product in the vibecoded list

The Build Prompt

copy it and go build
ready to paste · 3,687 chars
Build a comprehensive, self-hosted alternative to Pumble in an empty repository.
Use Next.js 15 (App Router), TypeScript, PostgreSQL, Drizzle ORM, WebSockets (Socket.io), and Docker Compose. Do not offer alternative stacks.
The goal is to create a robust team communication platform that handles public and private channels, direct messages (DMs), threaded conversations, file sharing, and advanced workspace organization without the recurring costs of Pumble's paid tiers.

### Data Model & Schema
Design a normalized PostgreSQL schema using Drizzle ORM:
- `users`: id, email, fullName, avatarUrl, role (admin, member, guest), status, lastActive, createdAt.
- `workspaces`: id, name, slug, ownerId, createdAt.
- `channels`: id, workspaceId, name, description, isPrivate, createdBy, createdAt.
- `channel_members`: channelId, userId, joinedAt, role.
- `messages`: id, channelId (nullable), recipientId (nullable), senderId, content, parentMessageId (for threads), isPinned, createdAt, updatedAt, deletedAt.
- `reactions`: id, messageId, userId, emoji.
- `files`: id, messageId, uploaderId, fileName, fileUrl, size, mimeType, createdAt.
- `user_preferences`: userId, sidebarCustomization, theme, notifications.

### Screens and UX Patterns
Implement the following exact screens and layouts:
1. **Workspace Layout**: A persistent sidebar on the left with custom sections (e.g., 'Starred', 'Marketing Channels', 'DMs'), and a main chat area on the right.
2. **Channel View**: Real-time message feed, an input bar with rich text formatting (bold, italic, code blocks, bulleted lists) and file attachment buttons.
3. **Thread Sidebar**: When clicking 'reply in thread' on a message, open a right-side drawer showing the parent message and all threaded replies to keep the main channel uncluttered.
4. **Direct Messages**: 1:1 and small group direct messaging views distinct from channels.
5. **Search & History Modal**: A `cmd+K` universal search palette to query all messages and files across the workspace instantly.
6. **Workspace Settings**: Admin area to manage users (invite, suspend), manage custom sidebar folders, and configure retention policies.

### Step-by-Step User Journeys
1. **Onboarding**: Owner runs `docker-compose up`, visits localhost:3000, and is prompted to create the first Workspace and Admin account.
2. **Channel Creation & Organization**: Admin creates #general and a private #leadership channel, organizes them into a "Core" folder in the sidebar.
3. **Real-time Messaging**: A user sends a message. The WebSocket server broadcasts it to all active clients in the channel. Another user adds a 👍 reaction, which updates instantly for everyone.
4. **File Sharing**: User drags and drops an image into the chat. It uploads to local storage, and appears inline in the message feed with a preview.
5. **Search**: A user needs an old file, presses `cmd+K`, types the filename, and the system queries the `files` and `messages` tables via ILIKE or full-text search.

### Technical Specifics
- Use WebSockets for live bidirectional updates (messages, typing indicators, presence).
- Implement cursor-based pagination for message history to handle infinite scrolling smoothly.
- Store all user data locally by default (PostgreSQL + local file uploads).
- Secure the app with JWT authentication (HTTP-only cookies).
- Put all secrets in `.env`, ship `.env.example`, and never commit credentials.
- Add owner-controlled retention limits and an emergency admin command to reset passwords.
- Write focused tests for the core message delivery and one end-to-end happy path.
- Provide a README with setup, architecture, database backup steps, and how to scale WebSocket nodes.
In-List Ad$79/30 days
promote your product in the vibecoded list

What you lose

  • Hosted infrastructure and managed operations from Pumble
  • The original service's mature integrations and ecosystem
In-List Ad$79/30 days
promote your product in the vibecoded list
Share on X ->Your vote helps rank the vibecoded list.

Questions

5 answers