Skip to content

thesohamdatta/Boards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boards

AI-Powered Storyboard Generation for Filmmakers & Creators

License: MIT Node Version TypeScript PRs Welcome

FeaturesInstallationUsageDocumentationContributing

Screenshot 2026-01-26 001656
---

📖 Overview

Boards is a professional storyboarding tool that transforms scripts and story ideas into visual storyboards using Google's Gemini AI. Built for filmmakers, content creators, and visual storytellers, it automates scene breakdown, character identification, and frame generation—allowing you to focus on your creative vision rather than manual sketching.

The application leverages Large Language Models to extract visual structure from cinematic text, generating technical shot lists, tracking recurring characters, and producing AI-assisted visual frames for every narrative moment.

Key Highlights

  • 🎬 Smart Script Parsing - Supports PDF, DOCX, TXT, and Fountain screenplay formats
  • 🤖 AI-Driven Visualization - Powered by Google Gemini 2.0/2.5 Flash models
  • 📊 Professional Exports - Production-ready PDFs, shot lists, and industry-standard formats
  • 🎨 Modern Interface - Dark-themed UI built with React, TypeScript, and Tailwind CSS

✨ Features

Core Capabilities

  • Intelligent Scene Breakdown: Automatically parses screenplays into logical scenes and shots with precise timing and descriptions
  • Character Tracking: Identifies and maintains consistency of key characters throughout your project
  • AI Frame Generation: Creates high-quality visual drafts for every shot using Gemini Vision models
  • Real-time Preview: Interactive storyboard editor with drag-and-drop reordering

Export Formats

Boards supports multiple production-ready export formats:

Format Description
PDF Layouts Vertical, Horizontal, and Large Image layouts with customizable branding
Shot Lists Detailed technical data exported to Excel (.xlsx) and PDF
Frame Archives Bulk export of raw PNG frames in ZIP format
Screenplay PDF Properly formatted Fountain screenplay documents
EDL (XML) Industry-standard Edit Decision Lists for post-production

🚀 Installation

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js 18.0 or higher (Download)
  • npm or yarn package manager
  • Google Gemini API Key (Get one here)

Setup Instructions

  1. Clone the repository

    git clone https://github.com/thesohamdatta/Boards.git
    cd Boards
  2. Install dependencies

    Using npm:

    npm install

    Or using yarn:

    yarn install
  3. Configure environment variables

    Create a .env file in the project root:

    VITE_GEMINI_API_KEY=your_gemini_api_key_here

    Security Note: Never commit your .env file to version control. It's already included in .gitignore.

  4. Start the development server

    npm run dev

    The application will be available at http://localhost:5173

Build for Production

npm run build

Preview the production build:

npm run preview

📖 Usage

Basic Workflow

  1. Import Your Script: Upload a screenplay file (PDF, DOCX, TXT, or Fountain format)
  2. AI Processing: Boards automatically breaks down scenes, identifies characters, and generates shot descriptions
  3. Generate Frames: Review and regenerate AI-generated visual frames as needed
  4. Export: Choose from multiple export formats for your production workflow

Supported File Formats

  • PDF: Standard screenplay PDFs
  • DOCX: Microsoft Word documents
  • TXT: Plain text screenplays
  • Fountain: Industry-standard plain text markup for screenplays

🏗️ Project Structure

Boards/
├── src/
│   ├── components/       # Reusable UI components (Radix + Tailwind)
│   │   ├── ui/          # Base UI primitives
│   │   └── ...          # Feature-specific components
│   ├── lib/             # Core business logic
│   │   ├── ai/          # Gemini AI orchestration
│   │   ├── parsers/     # Script parsing utilities
│   │   └── exporters/   # Export format generators
│   ├── stores/          # Zustand state management
│   ├── types/           # TypeScript type definitions
│   └── App.tsx          # Main application component
├── public/              # Static assets
├── .env                 # Environment variables (create this)
└── package.json         # Project dependencies

🛠️ Technology Stack

Frontend

  • React 18 - Modern UI library with hooks
  • TypeScript - Type-safe development
  • Vite - Next-generation frontend tooling
  • Tailwind CSS - Utility-first CSS framework

UI Components

  • Radix UI - Unstyled, accessible component primitives
  • Lucide React - Beautiful icon library

AI & Processing

  • Google Gemini API - 2.0/2.5 Flash models for vision and text generation
  • PDF-Lib - Client-side PDF generation
  • ExcelJS - Excel file generation

State Management

  • Zustand - Lightweight state management with persistence middleware

🤝 Contributing

Contributions are what make the open source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

How to Contribute

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style and TypeScript conventions
  • Add tests for new features when applicable
  • Update documentation for significant changes
  • Ensure all existing tests pass before submitting PR

Reporting Issues

If you encounter any bugs or have feature requests, please open an issue with:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)

📝 License

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


👤 Author

Soham Datta


🙏 Acknowledgments

  • Google Gemini for powering the AI capabilities
  • Radix UI for accessible component primitives
  • Tailwind CSS for the styling system
  • The open source community for inspiration and tools

📊 Project Status

This project is under active development. Check the Issues page for planned features and known bugs.


If you find this project useful, please consider giving it a ⭐️!

Made with ❤️ by the Boards team

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors