Skip to content

InstantDB Flutter

Real-time, offline-first database for Flutter

Features

Real-time Synchronization

Changes sync instantly across all connected clients with differential sync for reliable data consistency and conflict resolution.

Offline-first Architecture

Local SQLite storage with automatic sync when online. Your app works seamlessly offline and syncs when connectivity returns.

Reactive UI Updates

Widgets automatically update when data changes using Signals. No manual state management required.

Type-safe Queries

InstaQL query language with schema validation ensures type safety and prevents runtime errors.

Built-in Authentication

User authentication and session management built-in, with support for anonymous users and authenticated flows.

Collaboration Features

Real-time presence system with cursors, typing indicators, reactions, and avatars for collaborative applications.

Quick Start

// Initialize InstantDB
final db = await InstantDB.init(
appId: 'your-app-id',
config: const InstantConfig(syncEnabled: true),
);
// Create reactive UI
InstantBuilderTyped<List<Todo>>(
query: {'todos': {}},
transformer: (data) => (data['todos'] as List).cast<Todo>(),
builder: (context, todos) {
return ListView.builder(
itemCount: todos.length,
itemBuilder: (context, index) => TodoTile(todo: todos[index]),
);
},
)
// Perform mutations
await db.transact([
...db.create('todos', {
'id': db.id(),
'text': 'Learn InstantDB Flutter',
'completed': false,
}),
]);