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.7
flutter pub get

2. 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.