Skip to content

ScriptMS is an open-source tool for managing and generating scripts for faceless channel brands. It combines an Express backend and Angular front-end to create futuristic, culturally rich narratives, focusing on African cities. With AI-powered script generation and a responsive UI, it streamlines creative storytelling.

newben420/scriptms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScriptMS

ScriptMS is a lightweight, open-source system designed to help manage and generate scripts for faceless channel brands. It focuses on crafting imaginative, culturally rich stories set in futuristic worlds, specifically imagining African cities in the future. This tool blends local traditions with cutting-edge technology to envision what cities might become, streamlining the creative process for content creators. ScriptMS combines an Express backend with an Angular frontend, designed for local deployment and customization by anyone passionate about creative storytelling.


Features

  • Hierarchical Content Management: Organize futuristic city narratives into a structured hierarchy (e.g., cities > years > scripts).
  • Editable JSON Script Files: Store scripts as timestamped JSON files, allowing easy editing and versioning.
  • Responsive Web Interface: Navigate seamlessly on any device with a collapsible navigation drawer.
  • Script Management Tools: Add, edit, copy, and regenerate scripts to support iterative creative processes.
  • Local File System Storage: Ensure persistence and accessibility of your work without relying on external databases.
  • Groq Integration: Generate scripts using a powerful AI prompt that creates all aspects of a script given just the city, year, and optional base ideas.
  • Production Notes: Include voice-over, music, and automation details for a complete production pipeline.
  • Afro-Futurist Aesthetic: Focus on hope, resilience, and innovation, incorporating African cultural motifs and avoiding dystopian themes.

Tests

I tested six models on Abuja 2050 with no base ideas.

  1. deepseek-r1-distill-llama-70b
  2. compound-beta
  3. gemma2-9b-it
  4. llama-3.3-70b-versatile
  5. qwen/qwen3-32b
  6. moonshotai/kimi-k2-instruct

Their responses are saved in test/output.json

I then asked ChatGPT and Groq to evaluate the responses and rate each model. Below are the ratings, from highest to lowest:

ChatGPT

  1. moonshotai/kimi-k2-instruct
  2. qwen/qwen3-32b
  3. deepseek-r1-distill-llama-70b
  4. llama-3.3-70b-versatile
  5. gemma2-9b-it
  6. compound-beta

Grok

  1. qwen/qwen3-32b
  2. moonshotai/kimi-k2-instruct
  3. llama-3.3-70b-versatile
  4. deepseek-r1-distill-llama-70b
  5. gemma2-9b-it
  6. compound-beta

Due to the ratings above, I would recommend using moonshotai/kimi-k2-instruct or qwen/qwen3-32b for the best experience.


Screenshot (Demo)


Technical Overview

Backend

  • Framework: Express.js
  • Features:
    • RESTful API for managing scripts and hierarchical content.
    • Socket.IO integration for real-time updates.
    • File system operations for reading, writing, and deleting JSON files.
    • Groq integration for AI-powered script generation.

Frontend

  • Framework: Angular
  • Features:
    • Responsive design with Material Design components.
    • Dynamic forms for editing script content.
    • Localization support using @ngx-translate/core.
    • Theme switching (light/dark mode).
    • Real-time updates via Socket.IO.

Installation

Prerequisites

  • Node.js (v16 or later)
  • Angular CLI (v20 or later)
  • A modern web browser

Steps

  1. Clone the repository:

    git clone https://github.com/newben420/scriptms.git
    cd ScriptMS
  2. Install dependencies:

    cd scriptms
    npm install
  3. Configure environment variables:

    • Create a .env file in the root directory.

    • Add the following variables, and update according to your specifications:

      PORT="3000"
      TITLE="ScriptMS"
      BRAND="Drift"
      PRODUCTION="true"
      FORCE_FAMILY_4="true"
      EXIT_ON_UNCAUGHT_EXCEPTION="true"
      EXIT_ON_UNHANDLED_REJECTION="false"
      PROD_URL="https://example.com"
      MAX_ALLOWED_FLOG_LOG_WEIGHT="5"
      
      GROQ_KEY=""
      GROQ_ENDPOINT="https://api.groq.com/openai/v1/chat/completions"
      GROQ_MODELS="deepseek-r1-distill-llama-70b"
      # allam-2-7b compound-beta compound-beta-mini deepseek-r1-distill-llama-70b gemma2-9b-it
      # llama-3.1-8b-instant llama-3.3-70b-versatile llama3-70b-8192 llama3-8b-8192
      # meta-llama/llama-4-maverick-17b-128e-instruct meta-llama/llama-4-scout-17b-16e-instruct
      # meta-llama/llama-guard-4-12b meta-llama/llama-prompt-guard-2-22m
      # meta-llama/llama-prompt-guard-2-86m mistral-saba-24b qwen-qwq-32b qwen/qwen3-32b
      # moonshotai/kimi-k2-instruct
      GROQ_REQUEST_TIMEOUT_MS="0"
      GROQ_MAX_RETRIES="4"
      GROQ_HTTP_TIMEOUT_MS="60000"
      GROQ_MAX_HISTORY_COUNT="5"
      
      DATA_POSTSTRING="default"

Usage

  1. Start the application:

    npm start
  2. Access the application at http://localhost:3000/. Or whatever port you specify.

  3. Workflow:

    • Add Cities: Navigate to the "Data" section and create a new city.
    • Add Years: Within a city, add specific years to organize your scripts.
    • Generate Scripts: Use the Groq-powered AI to generate scripts by providing a city, year, and optional base ideas.
    • Edit Scripts: Modify generated scripts directly in the editor.
    • Production Notes: Add voice-over, music, and automation details for a complete production pipeline.

Project Structure

  • /engine/: Core logic for data management, Groq integration, and socket communication.

  • /lib/: Utility functions and helpers.

  • /model/: Type definitions for structured data (e.g., scripts, visuals).

  • /site.js: Configuration and environment variables.


Contributions

Contributions are welcome! If you have ideas for new features or improvements, feel free to open an issue or submit a pull request.


License

This project is open-source and available under the MIT License.

About

ScriptMS is an open-source tool for managing and generating scripts for faceless channel brands. It combines an Express backend and Angular front-end to create futuristic, culturally rich narratives, focusing on African cities. With AI-powered script generation and a responsive UI, it streamlines creative storytelling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published