5-Minute Quickstart
macOSGet up and running with Seenn CLI. Perfect for AI-assisted development.
This guide is designed for copy-paste into your terminal. All commands are ready to use.
1 Install & Login ~30 seconds
Install the Seenn CLI and authenticate with your Google account:
Alternative: Install via npm
npm install -g @seenn/cli
seenn login
Optional Configure iOS Push Notifications (APNs)
If you want to send push notifications to iOS devices, configure APNs now.
Get your .p8 key from Apple Developer → Keys → Create a new key with "Apple Push Notifications service (APNs)" enabled. Download the .p8 file (only available once).
Or use flags: seenn setup ios --p8 ./Key.p8 --team-id X --key-id Y --bundle-id Z
2 Add to Your Backend ~2 minutes
Install the Node.js SDK and start tracking jobs:
npm install @seenn/node
// jobs.ts
import { SeennClient } from '@seenn/node';
const seenn = new SeennClient({
apiKey: process.env.SEENN_SECRET_KEY, // sk_live_...
});
// Start a job when user triggers async task
const job = await seenn.jobs.start({
userId: 'user_123',
jobType: 'video-generation',
title: 'Creating your video...',
});
// Update progress as processing continues
await job.setProgress(50, { message: 'Generating frames...' });
// Complete with result
await job.complete({
result: { url: 'https://cdn.example.com/video.mp4' }
});
3 Add to Your App ~2 minutes
Choose your mobile framework and subscribe to real-time updates:
npm install @seenn/react-native
import { SeennProvider, useJob } from '@seenn/react-native';
// Wrap your app
function App() {
return (
<SeennProvider
apiKey="pk_live_..." // Public key
userId="user_123"
>
<YourApp />
</SeennProvider>
);
}
// Subscribe to job updates
function JobProgress({ jobId }) {
const { job, isLoading } = useJob(jobId);
if (isLoading) return <Spinner />;
return (
<View>
<Text>{job.progress}%</Text>
<Text>{job.message}</Text>
</View>
);
}
4 View Your Keys Anytime
Access your API keys from the terminal:
For AI Assistants
Add your keys to .env (gitignored), then add this to CLAUDE.md or .cursorrules:
# .env (gitignored - DO NOT COMMIT)
SEENN_SECRET_KEY=sk_live_...
SEENN_PUBLIC_KEY=pk_live_...
## Seenn Integration (Job Progress Tracking)
### Keys
- `SEENN_SECRET_KEY` - Backend only (.env)
- `SEENN_PUBLIC_KEY` - Mobile app (.env)
- Get keys: `seenn whoami` or `seenn keys --reveal`
### Backend (@seenn/node)
```typescript
const seenn = new SeennClient({ apiKey: process.env.SEENN_SECRET_KEY });
const job = await seenn.jobs.start({ userId, title });
await job.setProgress(50, { message: '...' });
await job.complete({ result: { url } });
```
### Docs
https://docs.seenn.io
Next: Learn about Core Concepts or explore iOS Live Activity integration.