Docs
GoodVibesLab Comments is a hosted comments backend (API + SDKs) with moderation, reactions, reporting, pagination and a fully customizable UI.
Flutter SDK
Install, configure and ship a production-ready comments UI in your Flutter app.
React SDK
Add comments to the web with the React package.
Flutter Quickstart
Get a full comments section running in three steps.
1. Install the package
dependencies:
gvl_comments: ^0.9.7flutter pub get2. Initialize the SDK
Call CommentsKit.initialize() once at app startup with your install key from the dashboard.
import 'package:gvl_comments/gvl_comments.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await CommentsKit.initialize(
installKey: 'cmt_live_xxx',
);
runApp(const MyApp());
}3. Drop the widget
Place CommentsList anywhere in your widget tree. It handles fetching, posting, pagination, reactions and moderation out of the box.
CommentsList(
threadKey: 'post:550e8400-e29b-41d4-a716-446655440000',
user: UserProfile(
id: 'user-123',
name: 'Ada Lovelace',
avatarUrl: 'https://example.com/avatar.png',
),
)Core Concepts
Install Key
Created from the dashboard (starts with cmt_live_). Passed to CommentsKit.initialize() to authenticate your app. The key is SHA-256 hashed before it leaves the device.
Thread Key
A high-entropy string (20+ chars) that identifies a comment thread. Use a UUID, ULID, or any unique identifier from your data model (e.g. post:550e8400-e29b…).
UserProfile
Your app's user identity: a stable id, optional name and avatarUrl. Attached to every comment automatically.
Data Isolation
All data is isolated per project via PostgreSQL Row-Level Security. The SDK injects the right claims into the JWT automatically — no configuration needed.