Skip to content

Script AI is a personal content creation assistant built specifically for YouTube creators. Discord: https://discord.gg/k9sZcq2gNG

License

scriptaiapp/scriptai

Script AI: Personalized creator tool for YouTubers

Transform your YouTube content creation with AI that learns your style and voice. Script AI is a personalized AI assistant that helps YouTubers generate scripts, thumbnails, subtitles, and more - all tailored to their unique content style and audience.

Discord GitHub Stars License: MIT

🎯 Core AI Features

  • Script Generation - AI learns your style from 3-5 videos
  • Smart Idea Research - Web research and PDF analysis for new content ideas
  • AI Thumbnail Creator - Generate thumbnails matching your channel's style
  • Multi-language Subtitles - Create editable subtitles in multiple languages
  • Voice Cloning Dubbing - Translate audio in multiple languages by cloning your voice
  • Course Module Builder - Complete course creation for educators

Future Features

  • AI Video Generator: Create AI-generated videos, reels like Sora, Veo.
  • Multi-Platform: Expand the features for platforms like TikTok, Instagram Reels, or podcasts.
  • Collaboration Mode: Real-time collaboration for teams.
  • Advanced Personalization: Train AI with custom fine-tuned model.

πŸ› οΈ Developer Experience

  • Modern Tech Stack - Next.js 15, React 19, TypeScript, Tailwind CSS, Supabase
  • Monorepo Architecture - Turbo + pnpm for efficient development
  • Comprehensive Testing - Jest, E2E testing, and linting
  • Type Safety - Full TypeScript coverage with Zod validation

πŸš€ Quick Start

Prerequisites

  • Node.js 19.x or higher
  • pnpm package manager
  • Git for version control

Local Development Setup

  1. Clone the repository

    git clone https://github.com/scriptaiapp/scriptai.git
    cd scriptai
  2. Install dependencies

    pnpm install
  3. Set up Supabase

    • Create a fresh Supabase project at supabase.com/dashboard (free tier is fine for development).
    • Run pnpx supabase login and follow the prompts to log in with your Supabase account (if not already logged in).
    • Get your project's Database URL from the Supabase dashboard (Settings > Database > Connection String; use the postgresql:// format).
    • Apply the existing schema to your new database:
      pnpx supabase db push --db-url <your-supabase-db-url>
    • Note: This uses the schema from packages/supabase/migrations/ and won't add any seed data.
  4. Set up environment variables

    # Copy example environment files
    cp apps/web/.env.example apps/web/.env
    cp apps/api/.env.example apps/api/.env
    • Edit apps/web/.env and apps/api/.env to include your Supabase credentials:
      SUPABASE_URL=<your-supabase-project-url>
      SUPABASE_ANON_KEY=<your-supabase-anon-key>
      
      (Get these from your Supabase dashboard under Settings > API.)
  5. Start development servers

    pnpm run dev
  6. Open your browser

πŸ› οΈ Available Scripts

Command Description
pnpm run dev Start all development servers
pnpm run dev:new Start web app on port 4000
pnpm run build Build all packages and apps
pnpm run test Run all tests
pnpm run test:e2e Run end-to-end tests
pnpm run lint Lint all code
pnpm run format Format code with Prettier

πŸ—οΈ Project Structure

scriptai/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ web/                    # Next.js frontend
β”‚   β”‚   β”œβ”€β”€ app/               # App Router pages
β”‚   β”‚   β”‚   β”œβ”€β”€ dashboard/     # Main app features
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ scripts/   # Script generation
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ research/  # Idea research
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ train/     # AI model training
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ thumbnails/# Thumbnail generation
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ subtitles/ # Subtitle creation
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dubbing/   # Audio translation
β”‚   β”‚   β”‚   β”‚   └── courses/   # Course modules
β”‚   β”‚   β”‚   └── api/           # Next.js API routes
β”‚   β”‚   β”œβ”€β”€ components/        # React components
β”‚   β”‚   β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   β”‚   └── lib/              # Utilities & config
β”‚   └── api/                   # NestJS backend
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ ui/                   # Shared UI components
β”‚   β”œβ”€β”€ api/                  # Shared API types
β”‚   β”œβ”€β”€ validations/          # Zod schemas
β”‚   └── config/              # Shared configs

🀝 Contributing

We love contributions! Whether you're fixing bugs, adding features, or improving documentation, your help is welcome.

Getting Started

  1. Join our Discord - https://discord.gg/k9sZcq2gNG
  2. Check existing issues - Look for "Good First Issue" labels
  3. Read our contributing guide - CONTRIBUTING.md
  4. Fork and clone - Create your own fork of the repository
  5. Create a branch - Use descriptive branch names (feat:add-new-feature)
  6. Make and test the changes - Follow our coding standards
  7. Submit a PR - Include well written description of what the PR does, include screenshots/videos if needed.

See our Contributing Guide for detailed information about our development process, coding standards, and how to submit your first contribution.

πŸ“š Documentation

🌟 Community

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ by the Script AI community