Embedded discussion workflow
Full-stackReleased · Preview
Add comments to your React or Next.js app.
BTST adds threads, replies, reactions, moderation, typed APIs, data models, and embeddable UI inside your app while you control identity and access.
Best for
Teams that need comments on posts, tasks, content records, or a custom resource without adopting a hosted discussion service.
- Requires
- A BTST database adapter; An adopter-owned host resource
- External service boundary
- None required
- Ownership boundary
- Comments and reactions stay in your database. You define resource identity, access rules, and author resolution; the moderation page can be ejected.

BTST supplies
- Threaded comment and reaction data models with typed APIs and lifecycle hooks
- Embeddable CommentThread and CommentCount components
- A moderation route for pending, approved, and spam comments
- Customizable hooks and ejectable moderation UI
You supply
- A BTST database adapter
- The resource type and identifier that each thread belongs to
- Authorization rules and authoritative request identity when access is protected
- A user resolver when author names and avatars should be displayed
You own and customize
Comments and reactions stay in your database. You define resource identity, access rules, and author resolution; the moderation page can be ejected.
Compatibility and dependencies
- Maintained integrations
- Next.js 15+ App Router · React Router v7 · TanStack Start
- Requires
- A BTST database adapter; An adopter-owned host resource
- External services
- None required
Continue your task
From registration to result
The shipped workflow
This is the feature path BTST supplies—not a claim that your app needs no integration work.
Name the resource
Mount CommentThread with the resource type and identifier owned by your app.
Resolve identity
Connect request identity, typed authorization rules, and optional author profiles.
Discuss
Create replies and reactions through the supplied typed APIs and UI.
Moderate
Review pending, approved, and spam comments on the built-in route.