StoryForge
StoryForge is an AI-powered web application that helps writers generate unique story ideas by combining tone, genre, and topic. It offers interactive plot generation, story refinement, editing tools, and a user-friendly interface to spark creativity and overcome writer's block.
StoryForge: AI-Powered Story Generation Platform
Overview
StoryForge is an innovative web application that leverages AI to help writers generate compelling story outlines and develop creative narratives. By combining advanced language models with an intuitive user interface, StoryForge provides writers with a powerful tool to overcome writer's block and explore new storytelling possibilities.
Features
- Interactive AI-powered story generation
- Customizable story elements
- Multiple genre and tone options
- Drag-and-drop suggestion interface
- Dark/light theme support
- Story editing and download capabilities
Technology Stack
- Backend: Flask (Python)
- Frontend: HTML5, CSS3, JavaScript
- AI Integration: Mira SDK
- Libraries:
- Font Awesome for icons
- particles.js for background animation
Prerequisites
- Python 3.8+
- pip
- Flask
- Mira SDK
Demo Images
StoryForge: Interactive Story Generation Platform Features
| Feature | Description | Screenshot |
|---|---|---|
| Story Generation Interface | An intuitive form where writers can input their desired story parameters. Users select or type in a specific tone (e.g., Mysterious), genre (e.g., Science Fiction), and topic (e.g., Time Travel). The drag-and-drop suggestions make it easy to explore creative combinations and overcome writer's block. | |
| Multiple Plot Generation | After submitting story parameters, the AI generates multiple unique plot outlines. Each plot is numbered and presented with a select button, allowing writers to explore different narrative possibilities. This feature helps writers find inspiration and choose a direction that resonates with their creative vision. | |
| Story Expansion and Refinement | Once a plot is selected, the AI expands the outline into a more detailed story. The generated narrative is divided into sections, providing a structured and comprehensive storytelling experience. Each section offers a different aspect of the story, from character development to plot progression. | |
| Story Editing and Download | A powerful editing feature allows writers to modify their generated story directly in the application. Users can edit story sections, rearrange content, and refine the narrative. The download functionality enables saving the story as a .txt file, making it easy to transfer the work to other writing platforms or continue editing offline. | |
| About Page | Provides a comprehensive overview of StoryForge, highlighting its innovative approach to AI-assisted storytelling. The page explains the platform's key features, technological foundations, and mission to empower writers through artificial intelligence. | |
| Contact Page | Offers users a direct communication channel with the StoryForge team. This page likely includes contact forms, email addresses, or additional information about support and collaboration opportunities. |
Key Technological Innovations
- AI-Powered Story Generation: Utilizes advanced language models to create unique, contextually relevant story outlines
- Flexible Input Parameters: Supports multiple tones, genres, and topics
- Interactive User Interface: Drag-and-drop suggestions and intuitive design
- Responsive Design: Works seamlessly across different devices and screen sizes
- Theme Customization: Dark and light mode options for user comfort
Installation
1. Clone the Repository
git clone https://github.com/yourusername/storyforge.git
cd storyforge
2. Create Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3. Install Dependencies
pip install flask mira-sdk
4. Configure API Key
Replace the placeholder API key in app.py:
client = MiraClient(config={"API_KEY": "your_mira_api_key"})
5. Run the Application
python app.py
Project Structure (main)
storyforge/
│
├── app.py # Flask application
├── templates/
│ ├── index.html # Main application interface
│ ├── about.html
│ └── contact.html
│
├── static/
│ ├── css/
│ │ ├── styles.css # Main styling
│ │ └── menu.css # Navigation styling
│ │
│ └── js/
│ ├── script.js # Main application logic
│ ├── menu.js # Menu interactions
│ └── particles.js # Background particle animations
│
└── requirements.txt # Project dependencies
Key Components
Backend (app.py)
The Flask application handles two primary routes:
/generate_stories: Generates multiple story outlines based on user-provided parameters- Inputs: Tone, Genre, Topic
- Uses Mira SDK to execute story generation flow
/improve_story: Refines a selected story outline- Inputs: Plot, Tone, Genre, Topic
- Generates more detailed story sections
Frontend (script.js)
Manages user interactions:
- Theme toggling
- Drag-and-drop suggestions
- Story generation workflow
- Story editing and download functionality
Particle Background (particles.js)
Creates an interactive particle animation with:
- Customizable particle count
- Interactive hover and click effects
- Responsive design
User Workflow
- Select or input story tone, genre, and topic
- Generate story outlines
- Choose a plot outline
- Refine and generate full story
- Edit and download the final story
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Contact
UTSO SARKAR - utsosarkar1@gmail.com
SHREYAN NARULA - shreyan_n@ma.iitr.ac.in
Project Link: [https://github.com/yourusername/officiallyutso]