Scheduling tool for video-streaming crews. Reads each member's broadcast history and auto-detects overlap windows so cross-channel collabs skip the calendar-tetris.
- Broadcast-history overlap detection — adds each friend's real VOD history to learn when they stream, then ranks time slots where the whole group is likely to be live at once.
- Smart scheduling — pattern analysis considers days, times, durations, and posted Twitch schedules to surface the best overlap windows.
- Game suggestions — shared play history surfaces games the selected group is most likely to enjoy together.
- Friends system — add Twitch streamers by username; their VOD history is fetched automatically via Twitch Helix.
- Calendar — visual calendar showing your own events alongside estimated stream times for all your friends.
- Session facts & Discord drafts — build a ready-to-paste Discord message and copy it with one click.
- Reminders — set browser notification reminders for upcoming collabs.
- Node.js 18+
- A Supabase project with Postgres and Auth enabled
- A Twitch Developer account (free)
git clone https://github.com/thedeutschmark/collab-planner.git
cd collab-planner
npm install
npx prisma generate
npx prisma migrate dev
npm run devOpen http://localhost:3000 and sign in with Twitch.
Configure everything on the in-app Settings page — no .env file required. Alternatively, set them in .env.local (see .env.example). Keys saved in Settings take priority over env vars.
| Variable | Where to get it | Purpose |
|---|---|---|
DATABASE_URL / DIRECT_URL |
Supabase project settings | Postgres connection for app data |
NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY |
Supabase project settings | Authentication and session handling |
TWITCH_CLIENT_ID / TWITCH_CLIENT_SECRET |
Twitch Developer Console | Streamer search, VOD history, schedules, game categories |
- Add your Twitch username in Settings — the app pulls your past broadcasts to learn your streaming patterns.
- Add friends by username — their VOD history is fetched automatically via Helix.
- Plan a collab — select friends, click "Suggest Times" for ranked overlap windows.
- Pick a game — click "Suggest" for game recommendations based on shared play history.
- Send invites — build a Discord message draft and copy it with one click.
The ranking considers actual stream history (days, times, durations, games played) and posted Twitch schedules where available; your own patterns are always included.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) + TypeScript |
| Database | Postgres via Prisma ORM |
| Auth | Supabase Auth (Twitch OAuth) |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Twitch data | Twitch Helix API (search, VOD history, schedules, games) |
| Calendar | FullCalendar |
| Data fetching | SWR |
app/ # Next.js pages and API routes
├── api/ # REST API endpoints
├── calendar/ # Calendar view
├── events/ # Create/view events
├── friends/ # Friends list and detail
├── messages/ # Redirects into session planning surfaces
└── settings/ # API key configuration
lib/
├── db.ts # Prisma client singleton
├── twitch/ # Twitch API client, auth, VOD fetching
├── scheduling/ # Pattern analysis and overlap detection
└── discord/ # Message template builders
components/ # UI components (shadcn/ui)
hooks/ # React hooks (reminders, clipboard)
prisma/ # Database schema and migrations
| Alert! Alert! Stream-alert clips from any video source. | |
| Clipline Livestream VODs → shortform clips with auto-captions. | |
| The Stream Toolset OBS overlays + companion apps. One login, no subscriptions. | |
| ForgetMeNot A Twitch chat bot that remembers your regulars. | |
| P.A.T.H.O.S. AI career platform — resume tailoring + ATS scoring. |
All projects → github.com/thedeutschmark
MIT