A minimalist AI-powered video generation platform built with Next.js 15, Supabase, and deployed on Vercel.
- Simple Interface: One input field to describe your story
- Real-time Status: Live database connection monitoring
- Scalable Architecture: Built on Next.js 15 with Supabase backend
- Production Ready: Optimized for Vercel deployment
- Frontend: Next.js 15 (App Router), React 18, TypeScript
- Styling: Tailwind CSS
- Database: Supabase (PostgreSQL)
- Deployment: Vercel
- Future AI Integration: Google AI (Gemini, Imagen 3, Veo 2)
git clone <your-repo-url>
cd simpleStudio
npm install- Go to https://supabase.com
- Create a new project
- Once created, go to Project Settings > API
- Copy your Project URL and anon/public key
In your Supabase project:
- Go to SQL Editor
- Copy the contents of
supabase/migrations/001_initial_schema.sql - Paste and run the SQL
This creates:
generationstable for storing video data- Indexes for performance
- Test function to verify connection
Copy .env.example to .env.local:
cp .env.example .env.localEdit .env.local and add your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=your-project-url.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-keynpm run devOpen http://localhost:3000 - you should see:
- ✅ Database Connected (green badge)
- ✅ App Deployed (green badge)
- Push your code to GitHub:
git add .
git commit -m "Initial setup"
git push origin main- Go to https://vercel.com
- Click "New Project"
- Import your GitHub repository
- Add environment variables:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- Click Deploy
Vercel will automatically:
- Build your app
- Deploy to production
- Provide a live URL
- Auto-deploy on every git push
npm i -g vercel
vercel login
vercel --prodAdd environment variables when prompted.
simpleStudio/
├── app/
│ ├── globals.css # Tailwind styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main page with DB status
├── lib/
│ └── supabase.ts # Supabase client config
├── supabase/
│ └── migrations/
│ └── 001_initial_schema.sql # Database schema
├── .env.example # Environment template
├── .env.local # Your credentials (gitignored)
└── vercel.json # Vercel config
| Column | Type | Description |
|---|---|---|
| id | UUID | Primary key |
| prompt | TEXT | User input text |
| video_url | TEXT | Generated video URL |
| status | TEXT | processing/completed/failed |
| created_at | TIMESTAMP | Creation time |
| completed_at | TIMESTAMP | Completion time |
| metadata | JSONB | Additional data |
After deployment, verify:
- App loads at your Vercel URL
- Database connection badge shows green ✅
- No console errors
- Input field is responsive
- Tailwind styles are working
- Check environment variables in Vercel dashboard
- Verify Supabase URL and key are correct
- Ensure SQL migration was run in Supabase
- Check Supabase project is active (not paused)
- Check build logs in Vercel dashboard
- Ensure all dependencies are in
package.json - Verify TypeScript has no errors:
npm run buildlocally
- Make sure
.env.localexists and has correct values - Run
npm installto ensure all dependencies are installed - Clear Next.js cache:
rm -rf .next
This is the MVP foundation. Future enhancements:
- AI Integration: Add Google AI APIs for video generation
- User Authentication: Add Supabase Auth
- Video Storage: Use Supabase Storage for videos
- Queue System: Add Inngest for background processing
- Gallery: Show recent generations
- Share Feature: One-click sharing
For issues or questions, check:
MIT