Open Source Job State Transport for Real-Time Progress Tracking
Build better async experiences. Track AI video generation, image processing, and long-running tasks with real-time updates.
| Platform | Package | Install |
|---|---|---|
| Node.js (Backend) | @seenn/node | npm install @seenn/node |
| React Native (Client) | @seenn/react-native | npm install @seenn/react-native |
| Flutter (Client) | seenn_flutter | flutter pub add seenn_flutter |
Backend (Node.js)
import { SeennClient } from '@seenn/node';
const seenn = new SeennClient({ apiKey: 'sk_live_xxx' });
const job = await seenn.jobs.start({
userId: 'user_123',
jobType: 'video-generation',
title: 'Generating video...',
});
await job.setProgress(50, { message: 'Rendering...' });
await job.complete({ result: { url: 'https://...' } });Client (React Native)
import { Seenn, useSeennJob } from '@seenn/react-native';
const seenn = new Seenn({ baseUrl: 'https://api.yourapp.com' });
function VideoProgress({ jobId }) {
const job = useSeennJob(seenn, jobId);
return <Text>{job?.progress}%</Text>;
}- Real-time SSE - Instant updates via Server-Sent Events
- React Hooks -
useSeennJob,useSeennJobs,useSeennJobProgress - Auto-reconnection - Exponential backoff with jitter
- Self-hosted - Use with your own backend
- TypeScript - Full type definitions
- Open Source - MIT License
MIT License