A community of a few hundred paying members is an ordinary web app: channels with threads, comments and reactions, profiles, Stripe subscriptions that unlock private channels, a simple course and a weekly digest email. An agent builds that in a weekend. The gaps are what members expect from an app: native iOS and Android apps with push, instant chat, voice and video rooms, moderation tools, and help when a payment or a login breaks. Discourse or Flarum cover the forum half for free if you host them.
Before you buildHeartbeat has no free plan, only a 14-day trial with no card. Use it to see how your own members take to a community before building anything.
Build me a small paid-community site to replace Heartbeat. Requirements: - Node.js 22 + TypeScript: Fastify with server-rendered pages (Eta) and htmx. `npm start` serves http://localhost:4970; storage in better-sqlite3 at ./data/community.db. - Members: email sign-in with a one-time link (nodemailer SMTP from .env, valid 15 minutes, signed session cookie) and a profile with name, bio and an avatar saved in ./data/uploads (images only, 2 MB max). - Channels: the owner creates channels marked free or paid; members post threads in Markdown (`marked` and `sanitize-html`), comment, react from a fixed emoji set; the owner and moderators can pin, lock and hide. - Paid access: Stripe Checkout subscriptions (`stripe`, STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET in .env). The webhook grants or removes access on checkout.session.completed, invoice.payment_failed and customer.subscription.deleted. Stay in test mode until a README checklist passes. - Courses: modules and lessons in Markdown with a mark-complete button and a progress bar per member; a lesson can require a paid channel's access. - Email: a weekly digest of the 10 most active threads per member and an instant mail for replies to their threads, each with a one-click unsubscribe link. - Admin: members table with search and plan status, remove or ban a member, CSV export. - No third-party accounts except Stripe and SMTP. No telemetry; the only cookie is the session. - Out of scope: native apps and push, real-time chat and DMs, video rooms, events, affiliate programs, a branded app. - README: Stripe test-mode setup with `stripe listen`, a note that refunds and payment history live in Stripe, that VAT or sales tax is the owner's job, and a backup command for the SQLite file.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Heartbeat.
Add an importer for a Heartbeat export to the community site in this folder. Requirements: - A command `community import-heartbeat <folder>` that reads posts.csv, comments.csv, documents.csv and lessons.csv from the export ZIP, plus the member CSV exported from Heartbeat's members screen. - Create members from the member CSV without sending any email, map author IDs to them, and create threads, comments, resource pages and lessons with the original dates. - Print a dry-run summary of what would be created, skipped or unmatched before writing. - Image links stay as links; list every URL that has to be downloaded before the old community is deleted. Running it twice must not create duplicates. - Update the README with the export steps.
Add web push to the community site in this folder. Requirements: - A PWA manifest and service worker; members opt in from a settings page, with one subscription stored per browser in SQLite. - Send pushes with the `web-push` package and VAPID keys from .env for replies to a member's threads and mentions; a per-member switch and a quiet-hours setting. - Remove subscriptions that return 404 or 410. Never send more than 5 pushes a day to one member. - Update the README, including the note that iOS only delivers web push to apps added to the home screen.
Add events to the community site in this folder. Requirements: - Owners create events with title, start, duration, time zone, a join URL and an optional paid-channel requirement; members RSVP yes or no. - Send an .ics invite on RSVP (`ics` package) and reminders 24 hours and 15 minutes before through the existing SMTP settings. - An events list showing times in the member's own time zone and an attendee count. - Owners can export the attendee list as CSV. Update the README.
Add moderation tools to the community site in this folder. Requirements: - A report button on every thread and comment; reports go to a queue with the reason, the reporter and the content, and moderators can hide, delete or dismiss. - Hold the first 3 posts of every new member for approval, with a setting to turn that off. - A word filter list that holds matching posts for review instead of rejecting them. - Log every moderator action with who, what and when, and show it on a page only the owner can open. Update the README.
Creators sell access, so the community has to feel like an app members open every day, with a checkout that doesn't fail. Heartbeat bundles the member app, payments, courses, events and retention tools in one place, so a coach or course seller doesn't need a developer when a payment breaks or someone can't log in. The tiered transaction fee is the price of not running it yourself.
Estimate · Runs on a small VPS; SMTP fits free tiers at a few hundred members. Stripe takes its normal fee but no platform cut, where Heartbeat adds 5% on Build. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Build | $49 | $40 | Up to 350 members (admins count), unlimited channels, courses, events and documents, 5 automation workflows, 1 landing page, custom domain, Zapier, Zoom and Google Calendar, 5% transaction fee, support within 2 business days. |
| Grow | $149 | $124 | Up to 5,000 members, unlimited automations, 15 landing pages, 50 hours of video hosting, white-label email, API access, affiliate program, 2.5% transaction fee, support within 1 business day. |
| Scale | $849 | $766 | Unlimited members, white-label branded mobile app, advanced analytics, 50 landing pages, 200 hours of video, dedicated onboarding expert, same-day support, 1.25% transaction fee. |
No free plan: a 14-day trial with no card; communities not upgraded are deactivated and deleted after 30 inactive days.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Native iOS and Android apps with push notifications (the branded app sits on Scale), Real-time chat channels and direct messages.
About $49 a month on the Build plan, $588 a year (checked 2026-10-19).
Native iOS and Android apps with push notifications (the branded app sits on Scale); Real-time chat channels and direct messages; Voice and video rooms for up to 256 people; Events with Zoom and calendar sync, and affiliate programs; The Pulse AI setup assistant and migration imports from Slack, Circle and Peerboard. If any of those matter to you, keep paying.
Yes: Discourse (open source), Flarum (open source), Zulip (open source).