Documentation

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

flutter pub add gvl_comments

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. Sent over HTTPS and stored only as a SHA-256 hash, never in clear.

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.