Add moderated comments to your Flutter app
A drop-in Flutter widget for user comments — stored, served, and moderated for you. No backend to build, no becoming a moderation team. React supported too.

// Drop it straight into your widget tree.
GvlCommentsList(
threadKey: 'post:5YqL4w8bQm9ZkF3R',
user: UserProfile(
id: currentUser.id,
name: currentUser.name,
),
);
// Stored, served & moderated for you.<CommentsProvider
config={{ apiKey: "YOUR_KEY" }}
>
<CommentsThread
threadKey="post:5YqL4w8b"
/>
</CommentsProvider>From zero to moderated in three steps
Install the package
flutter pub add gvl_comments. One dependency from pub.dev — no backend project to spin up.
Configure your project
Create a project in the dashboard, grab your install key, and drop the widget into your screen.
Comments live & moderated
Users post. Spam and abuse are filtered automatically; flagged content waits in your review queue.
Ship user content without becoming a moderator
The moment real users show up, comments stop being a feature and become a job — spam, abuse, and the occasional content you don't want sitting on your app. We run that job for you.
- Spam filtered on every plan — automatically, around the clock, free tier included.
- Automatic abuse detection — harmful and toxic content flagged for you, not just obvious spam. (Starter and up)
- A review queue, not an inbox — flagged content and user reports land in one place; approve or reject in a click. (Starter and up)
Spam protection ships on every plan. Full managed moderation turns on with Starter and up — right when your app's traction needs it.
🔥 Make $5,000/week from home — click my profile link now!!!
Honestly this whole thread is garbage and so are you.
Cheaper than building it on Firebase yourself
You could wire comments up on Firebase or Supabase. Then you own the backend — and the moderation — forever.
Roll your own
- Design schema, threads & pagination
- Stand up and scale a backend
- Build spam & abuse filtering
- Build a moderation dashboard
- Handle GDPR, deletion & data isolation
- Maintain all of it, forever
With GoodVibesLab
- Drop-in widget, a few lines of Dart
- Storage & scaling handled for you
- Spam & abuse filtered automatically
- Moderation review queue included
- RLS isolation, EU hosting, GDPR-aware
- We maintain it — you ship features
Everything user content needs — handled
A native Flutter widget on the front, managed infrastructure and moderation on the back. You ship; we operate.
Native Flutter widget
A real Dart widget — GvlCommentsList — that drops into your widget tree. Threaded replies, theming, and i18n built in. Not a webview.
Moderation, managed
Spam is filtered automatically on every plan. On Starter and up, harmful content is detected for you and flagged items land in a review queue — no moderation team required.
No backend, ever
Comments are stored, served, and paginated on our infrastructure. No database to design, scale, or back up.
User reporting built in
Your users flag bad content; it's soft-hidden instantly and surfaced to you for review. Community moderation out of the box.
Isolated & GDPR-aware
Row-level security isolates every project's data. EU hosting, with GDPR-aware retention and deletion.
Yours to style
Themes, custom builders, and full style control so the widget matches your brand instead of looking bolted on.
Drop it in. Ship it.
A native widget for Flutter, a component for React. Copy, paste, configure your key.
Flutter
Primaryimport 'package:gvl_comments/gvl_comments.dart';
class CommentsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GvlCommentsList(
threadKey: 'post:5YqL4w8bQm9ZkF3R7sN2D',
user: UserProfile(
id: currentUser.id,
name: currentUser.name,
),
);
}
}Full docs: Flutter SDK Installation
React
Also supportedimport {
CommentsProvider,
CommentsThread,
} from "@goodvibeslab/gvl-comments-react";
export function Comments() {
return (
<CommentsProvider
config={{
apiKey: "YOUR_KEY",
externalUserId: user.id,
externalUserName: user.name,
}}
>
<CommentsThread threadKey="post:5YqL4w8bQm9ZkF3R7sN2D" />
</CommentsProvider>
);
}Full docs: React SDK Installation
Production-ready — and you can verify it
No fake logos, no inflated metrics. Just shippable packages you can install right now, on a stable API under semver.
Free until your app has traction
Start free with 100 comments a month. When the volume — and the moderation — grow, the paid plans handle both.
Free
For side projects & dev
$0/month
- 100 comments / month
- 1 project
- Flutter & React SDKs
- Basic spam protection
- GoodVibesLab branding
Indie
For indie apps going live
$9.90/month
- 3,000 comments / month
- 1 project
- No GVL branding
- Basic spam protection
- Email support
StarterBest value
For growing apps
$29/month
- 25k comments / month
- 1 project
- No GVL branding
- AI moderation & reporting
- Email support
Early ProEarly access
Limited early access pricing
$59/month
- Up to 5 projects
- High monthly comment volume
- No GVL branding
- AI moderation & reporting
- Priority email support
Frequently Asked Questions
Is there a real native Flutter comments widget?
Yes. GoodVibesLab ships a true drop-in Flutter widget (GvlCommentsList) — a native Dart widget, not a webview. Add it in a few lines, no backend required. A React component is available too.
Do I have to moderate comments myself?
Spam is filtered automatically on every plan, including Free. On Starter and up you also get managed moderation: harmful content is detected for you, flagged items and user reports land in a review queue you action in one click. So as your app grows you get moderation handled instead of becoming a moderation team.
Do I need a backend or a database?
No. Comments are stored, served, and paginated on our infrastructure (Postgres with row-level security, isolated per project). You integrate the widget; we handle storage, scaling, and GDPR-aware data handling.
Do I need a credit card to start?
No. The free tier covers 100 comments per month with no card. Upgrade when your volume grows — that's exactly when managed moderation starts paying off.
Add comments to your Flutter app today
Drop in the widget, configure your project, and let us handle storage and moderation. React supported too.