Your AI co-founder, in your inbox.
jot reads your GitHub commits each day and emails you a blunt, honest reflection about what you accomplished, what patterns it noticed, and questions to think about for tomorrow.
- GitHub OAuth — Connect your repos in one click
- Daily reflections — Analyzes your commits every evening
- Blunt co-founder voice — No fluff, just clarity
- Email delivery — Lands in your inbox at 8pm
- Subscription billing — 7-day trial, then $10/month
- Framework: Next.js 16 (App Router)
- Auth/Database: Supabase
- AI: Claude (Anthropic)
- Email: Resend
- Payments: Stripe
- Hosting: Vercel
- Go to supabase.com and create a new project
- Run the migration in
migrations/001_initial_schema.sql - Enable GitHub OAuth in Authentication → Providers
- Copy your project URL and keys
- Go to github.com/settings/developers
- Create a new OAuth App
- Set callback URL to:
https://your-supabase-project.supabase.co/auth/v1/callback - Copy client ID and secret to Supabase GitHub provider settings
- Create products in Stripe Dashboard:
- Pro plan: $10/month recurring
- Create a webhook endpoint pointing to
/api/webhooks/stripe - Subscribe to events:
checkout.session.completed,customer.subscription.updated,customer.subscription.deleted
- Push to GitHub
- Import to Vercel
- Add environment variables:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
ANTHROPIC_API_KEY=
RESEND_API_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_PRO_PRICE_ID=
NEXT_PUBLIC_APP_URL=https://your-domain.vercel.app
CRON_SECRET=your-random-secret
- Vercel will automatically set up the cron job from
vercel.json
- Sign up at resend.com
- Verify your domain
- Update the
fromaddress insrc/lib/email.ts
npm install
npm run devMIT