Heartbeat logo

How to vibe codeHeartbeat

Community platform for memberships, courses, and events

heartbeat.chat

Web app

38/ 100
Serious undertaking

The verdict: can you vibe code Heartbeat?

You can build a functional single-tenant community portal subset, but replicating the complete suite of real-time WebRTC rooms, nested LMS course engines, Stripe subscription webhooks, and AI prompt-scaffolding requires a serious engineering effort.

Heartbeat combines a half-dozen complex software categories into one platform: Discord-style real-time chat, Kajabi-style course drip schedules, Zoom-style WebRTC breakout rooms, Stripe billing workflows, and an AI agent builder. While an AI coding assistant can rapidly scaffold a Next.js monolithic shell with Prisma and Turso, you will spend weeks debugging edge cases in WebSocket state synchronization, WebRTC media server signaling, and robust subscription access-control middleware. For personal use, simpler standalone tools or paying for the SaaS is far more rational unless you want an arduous multi-week coding project.

Estimated effort: 6+ weeks of full-time development and debugging

What you can't replicate

  • The massive network effects of 25,000+ active creator communities
  • App store distribution and maintenance of white-labeled native iOS and Android apps
  • Deep institutional engineering polish built over years by a 30+ person venture-backed team

Founded

2020

Raised

$3.02M

Team

12 to 30+ employees

Cheapest paid tier

$49/mo

What Heartbeat does

An all-in-one community platform consolidating chat channels, threaded discussions, online courses, live voice/video rooms, event scheduling, document hosting, automated workflows, landing pages, and Stripe payments into a single white-labeled workspace.

Core features

  • Real-time chat channels and threaded discussions with reactions and polls
  • Nested Learning Management System (LMS) with evergreen and cohort-based courses, drip schedules, and progress tracking
  • Live voice and video rooms supporting up to 256 participants
  • Event scheduling with calendar synchronization and RSVP tracking
  • Flexible payment processing for memberships, subscriptions, and installments via Stripe webhooks
  • Automated workflows for onboarding, welcome messages, and member upsells
  • AI co-builder (Pulse) for generating community structures and landing pages from natural language prompts
  • Custom domain support and role-based access control tied to membership tiers

The business

Pricing

  • Build Plan$49/mo
  • Grow Plan$149/mo
  • Scale Plan$849/mo

Funding

$3.02M from SocialStarts, Maroon Alliance, Outlander, Mike Edelhart, Paige Craig

Pay vs build, cumulative

Break-even at month 1 — after that, every month is money kept.

The hard parts of vibe coding Heartbeat

  • Building low-latency real-time chat channels, unread state tracking, and live presence indicators without losing connection sync
  • Orchestrating multi-user WebRTC voice and video rooms with signaling servers and media routing at scale
  • Enforcing granular access control rules so subscription states dynamically unlock specific chat channels, courses, and event rooms
  • Integrating Stripe webhook lifecycle events for recurring subscriptions, installment failures, and trial conversions
  • Implementing an AI co-builder workflow engine that parses natural language prompts to scaffold multi-table database records (channels, courses, pages)

How to vibecode Heartbeat

Prerequisites

  • Node.jsfree

    Required runtime for executing the Next.js full-stack development environment.

  • GitHubfree

    Version control repository hosting and CI/CD deployment trigger for Vercel.

  • Stripe Accountfree

    Required for configuring test-mode checkout sessions and payment webhook listeners.

AI coding tools

Recommended stack

FrontendNext.js with Tailwind CSS and shadcn/ui components
BackendNext.js Server Actions and API Routes with WebSockets via Pusher
DatabaseTurso (SQLite at the edge) managed via Drizzle ORM
Authbetter-auth for self-hosted TypeScript session management and role-based permissions
PaymentsStripe API for subscriptions and webhook event handling
OtherLiveKit for WebRTC voice and video rooms, Anthropic API for the Pulse AI assistant feature, Resend for transactional email notifications

Hosting & infrastructure

VercelHosting the Next.js frontend and serverless API endpoints with zero-config preview deployments$0-20/mo
TursoServerless edge SQLite database storage for users, channels, courses, and posts$0/mo
Fly.ioHosting the LiveKit WebRTC media server for real-time voice and video rooms$5-10/mo

Build guide

  1. 01Project Scaffolding and Database Schema

    Initialize the Next.js project with Tailwind CSS, Drizzle ORM, and Turso, establishing tables for users, workspaces, channels, messages, courses, lessons, and access groups.

    Create a new Next.js project using App Router, TypeScript, and Tailwind CSS. Install Drizzle ORM and configure connection to Turso using an HTTP client. Define a comprehensive SQLite database schema with tables for users (id, name, email, role, avatar), workspaces (id, name, slug, customDomain), channels (id, workspaceId, name, type, isPrivate), messages (id, channelId, userId, content, parentId, createdAt), courses (id, workspaceId, title, description, isCohort), lessons (id, courseId, title, content, dripDays, orderIndex), and accessGroups (id, workspaceId, name, tier). Ensure all foreign key relationships have proper cascade rules and indexes. Write a seed script to populate initial test data.
  2. 02Authentication and Multi-Tenant Access Control

    Implement self-hosted authentication via better-auth with role-based access control middleware restricting channel and course access based on membership tiers.

    Integrate better-auth into the Next.js project supporting email/password sign-in and session management. Create custom database tables for user sessions and accounts linked to Turso. Build middleware that checks if a requesting user belongs to a workspace and possesses the required accessGroup permissions to view specific private channels or gated course modules. Add an admin settings panel allowing workspace owners to manage user roles and membership tiers.
  3. 03Real-time Chat Channels and Threaded Discussions

    Build real-time chat channels and threaded discussions utilizing Pusher for live message broadcasting, unread state tracking, and emoji reactions.

    Build a real-time chat interface using Next.js Server Actions and Pusher channels. Create UI components for channel sidebars, message history feeds with infinite scroll, message input with attachment support, threaded reply drawers, and inline emoji reactions. Implement client-side WebSocket subscription handlers that instantly update the message feed and track unread counts when new messages arrive without requiring a page refresh.
  4. 04Nested LMS Course Engine with Drip Schedules

    Develop a course management system supporting evergreen and cohort modules, lesson content rendering, progress tracking, and scheduled drip access.

    Implement a nested Learning Management System (LMS) within the Next.js app. Create instructor views to create courses, sections, and lessons with markdown content and video embeds. Build student views with a course outline sidebar, progress tracking bars, and completion checkboxes. Implement drip-schedule logic that restricts lesson visibility based on the student's enrollment date plus the lesson's dripDays configuration, verifying access against user progress records.
  5. 05WebRTC Voice and Video Rooms Integration

    Integrate LiveKit to power in-platform voice and video rooms supporting up to 256 participants with screen sharing and audio controls.

    Integrate LiveKit into the platform to power live voice and video rooms. Set up a token generation API route that authorizes authenticated users to join specific room names with appropriate participant metadata. Build a React video room component using LiveKit components featuring grid participant layouts, camera/microphone toggles, screen sharing capabilities, and an active speaker indicator bar. Handle connection state errors and reconnection UX gracefully.
  6. 06Stripe Payments and Subscription Access Sync

    Configure Stripe Checkout and webhook listeners to process membership purchases and automatically update user access groups upon successful payment.

    Set up Stripe payment integration in Next.js. Create an API route to generate Stripe Checkout sessions for workspace membership tiers and one-time course purchases. Implement a Stripe webhook receiver endpoint that listens for customer.subscription.created, customer.subscription.updated, and invoice.payment_succeeded events. When webhooks fire, securely update the database user records and access groups to grant or revoke permissions automatically.
  7. 07Pulse AI Co-builder Assistant

    Incorporate an AI assistant powered by the Anthropic API that parses natural language prompts to scaffold community structures, channels, and course outlines.

    Build an AI co-builder feature named Pulse using the Anthropic API SDK. Create a chat drawer interface where creators can type natural language prompts describing their community business. Write a server-side route that sends the prompt along with a structured system prompt to Claude Sonnet, returning JSON instructions to automatically create workspace channels, default course modules, and welcome post templates in the database. Implement confirmation UI allowing creators to review and execute the generated structure.

Cost vs paying for Heartbeat

What will you build it with?

Est. 18.5M in / 4.2M out tokens· Includes access to introductory usage of the default model with dynamic rate limits.$0

Starting total with Claude Code$0 one-time

Starting costs (one-time)

  • Custom Domain Registration$12 one-time

Total~$12 one-time

Ongoing costs (monthly)

  • Vercel Hobby / Pro$0-20/mo
  • Fly.io (LiveKit Server)$5/mo
  • Turso Database$0/mo

Total~$15-25/mo

Paying for Heartbeat

$149/mo (Grow Plan)

Your time to build

45-60 hours

AI tool credits

$20/mo (Claude Pro / Cursor)

Break-even

N/A (Built for learning/personal use)

Vibe code Heartbeat: FAQ

Can you vibe code Heartbeat yourself?
Serious undertaking — 38/100 vibecodeable. You can build a functional single-tenant community portal subset, but replicating the complete suite of real-time WebRTC rooms, nested LMS course engines, Stripe subscription webhooks, and AI prompt-scaffolding requires a serious engineering effort.
How long does it take to vibe code Heartbeat?
6+ weeks of full-time development and debugging — roughly 45-60 hours of hands-on time with an AI coding agent.
How do you build your own Heartbeat?
Scoped to personal use: Next.js with Tailwind CSS and shadcn/ui components on the front, Next.js Server Actions and API Routes with WebSockets via Pusher behind it, Turso (SQLite at the edge) managed via Drizzle ORM for data. Follow the 7-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
How do you code your own Heartbeat without being an expert?
Use an AI coding tool (Claude Code or Cursor) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 6+ weeks of full-time development and debugging. The prompts on this page are written so the AI does the heavy lifting.
How much does it cost to vibe code Heartbeat instead of paying?
About ~$12 one-time to start and ~$15-25/mo to run, versus $149/mo (Grow Plan) for Heartbeat. Break-even: N/A (Built for learning/personal use).
What stack should you use to vibe code Heartbeat?
Next.js with Tailwind CSS and shadcn/ui components; Next.js Server Actions and API Routes with WebSockets via Pusher; Turso (SQLite at the edge) managed via Drizzle ORM; plus LiveKit for WebRTC voice and video rooms, Anthropic API for the Pulse AI assistant feature, Resend for transactional email notifications.

Sources

Alternatives & community builds

All alternatives →