Transform your imagination into captivating stories with AI-powered writing, voice synthesis, and video generation.
StoryForge Pro is a cutting-edge, full-stack web application that combines artificial intelligence with creative storytelling. Generate stories, convert them to realistic voice narration, and create professional AI-narrated videos - all in one seamless platform.
π Try StoryForge Pro - Experience the future of AI storytelling
- Multi-Genre Support: Fantasy, Sci-Fi, Mystery, Romance, Horror, Adventure, Drama, Comedy, Thriller
- Multiple Content Types: Stories, Poems, Scripts, Blog Posts
- Flexible Length Options: Micro (50-100 words), Short (200-500 words), Medium (500-1000 words), Long (1000-2000 words)
- Smart Content Optimization: Automatically optimizes content for video generation
- Powered by Google Gemini AI: Advanced language model for high-quality content generation
- Realistic Voice Narration: Convert text to natural-sounding speech using ElevenLabs AI
- Multiple Voice Options: Choose from various AI voices and languages
- Audio Quality Controls: Adjust stability, similarity boost, and speaker enhancement
- Cloud Storage Integration: Seamless audio file storage and streaming
- Persona-Based Videos: Create videos with AI avatars using Tavus technology
- Real-time Progress Tracking: Monitor video generation with live progress updates
- Multi-language Support: Generate videos in multiple languages with appropriate avatars
- Professional Quality: High-definition video output with synchronized audio
- Video Library Management: Organize and manage all generated videos
- Secure Authentication: Email/password authentication with Supabase Auth
- User Profiles: Customizable profiles with avatars, bios, and social links
- Demo Mode: Try the platform without registration
- Role-based Access: User and admin role management
- Session Persistence: Secure session management across page refreshes
- Admin Panel: Comprehensive admin dashboard for platform management
- User Management: View, promote, and moderate all platform users
- Content Moderation: Review and manage stories, handle content reports
- Analytics Dashboard: Platform statistics and user activity monitoring
- Admin Promotion: Promote users to admin roles with email/username
- System Health: Monitor database, API status, and storage usage
- Secure Access Control: Admin-only routes with proper authentication
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Dark/Light Theme: Toggle between themes with system preference detection
- Smooth Animations: Framer Motion animations for enhanced user experience
- Accessibility: ARIA labels, keyboard navigation, and screen reader support
- Modern Components: Custom UI components built with Radix UI and Tailwind CSS
- Real-time Database: Supabase PostgreSQL with real-time subscriptions
- File Storage: Secure cloud storage for audio and image files
- Story Library: Personal library with filtering and search capabilities
- Social Features: Story sharing, likes, views, and interactions
- Export Options: Download generated content and media files
- React 18.3.1 - Modern React with hooks and functional components
- TypeScript 5.5.3 - Type-safe development
- Vite 5.4.2 - Fast build tool and development server
- React Router DOM 6.20.1 - Client-side routing
- Framer Motion 10.18.0 - Animation library
- Tailwind CSS 3.4.1 - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Lucide React - Beautiful SVG icons
- Supabase - Backend-as-a-Service (BaaS)
- PostgreSQL database with real-time subscriptions
- Authentication and user management
- File storage and CDN
- Row Level Security (RLS) policies
- Google Gemini AI - Advanced language model for story generation
- ElevenLabs API - Realistic voice synthesis and audio generation
- Tavus API - AI video generation with persona avatars
- ESLint - Code linting and quality assurance
- PostCSS - CSS processing with Autoprefixer
- TypeScript ESLint - TypeScript-specific linting rules
- Vite Plugins - React Fast Refresh and optimization
StoryForge/
βββ public/ # Static assets
βββ src/
β βββ components/ # Reusable UI components
β β βββ Layout/ # Layout components
β β β βββ Footer.tsx # Footer with social links
β β β βββ Navbar.tsx # Navigation with auth
β β β βββ ProtectedRoute.tsx # Route protection
β β βββ Subscription/ # Subscription components
β β βββ ui/ # Base UI components
β β β βββ Button.tsx # Customizable button
β β β βββ Card.tsx # Card layout
β β β βββ Input.tsx # Form inputs
β β β βββ Modal.tsx # Modal dialogs
β β β βββ ... # Other UI components
β β βββ VideoGeneration/ # Video generation components
β βββ contexts/ # React contexts
β β βββ AuthContext.tsx # Authentication state
β β βββ ThemeContext.tsx # Theme management
β βββ lib/ # Utility libraries
β β βββ api/ # API integrations
β β β βββ elevenlabs.ts # Voice synthesis API
β β β βββ gemini.ts # Story generation API
β β β βββ tavus.ts # Video generation API
β β β βββ video.ts # Video management utilities
β β βββ revenuecat.ts # Subscription management
β β βββ supabase.ts # Database client
β β βββ utils.ts # Utility functions
β βββ pages/ # Application pages
β β βββ auth/ # Authentication pages
β β β βββ Login.tsx # Login form
β β β βββ Register.tsx # Registration form
β β βββ Admin.tsx # Admin dashboard
β β βββ CreateStory.tsx # Story creation interface
β β βββ Dashboard.tsx # User dashboard
β β βββ Explore.tsx # Public story exploration
β β βββ Landing.tsx # Landing page
β β βββ Library.tsx # Personal story library
β β βββ Profile.tsx # User profiles
β β βββ StoryViewer.tsx # Story reading interface
β β βββ VideoLibrary.tsx # Video management
β βββ App.tsx # Main application component
β βββ main.tsx # Application entry point
β βββ index.css # Global styles
βββ supabase/
β βββ migrations/ # Database migrations
βββ Assets/ # Project assets
βββ .env # Environment variables
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
Before running this project, make sure you have:
- Node.js 18+ - Download Node.js
- npm or yarn - Package manager
- Git - Version control system
You'll need to obtain API keys from the following services:
- Supabase Project: Create a Supabase project
- Google Gemini API: Get Gemini API key
- ElevenLabs API: Get ElevenLabs API key
- Tavus API: Get Tavus API key
- RevenueCat (Optional): Get RevenueCat API key
-
Clone the repository
git clone https://github.com/ethical0101/storyforge-pro.git cd storyforge-pro
-
Install dependencies
npm install # or yarn install
-
Set up environment variables
Create a
.env
file in the root directory:# Supabase Configuration VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key # AI APIs VITE_GEMINI_API_KEY=your_gemini_api_key VITE_ELEVENLABS_API_KEY=your_elevenlabs_api_key VITE_TAVUS_API_KEY=your_tavus_api_key
-
Set up Supabase database
The project includes migration files in
supabase/migrations/
. Run these migrations in your Supabase project:- Navigate to your Supabase dashboard
- Go to the SQL Editor
- Run the migration files in chronological order
-
Start the development server
npm run dev # or yarn dev
-
Open in browser
Navigate to
http://localhost:5173
to see the application running.
Command | Description |
---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint for code quality |
- Input Creation: Users provide a prompt, select genre, type, and length
- AI Processing: Google Gemini AI generates content based on parameters
- Content Optimization: Automatic optimization for video generation when needed
- Storage: Stories are saved to Supabase with metadata
- Text Processing: Story content is processed for optimal voice synthesis
- Voice Selection: Users choose from available ElevenLabs voices
- Audio Generation: High-quality audio is generated with custom settings
- Storage & Streaming: Audio files are stored in Supabase Storage
- Content Optimization: Stories are automatically shortened for video format
- Voice Synthesis: Audio narration is generated using ElevenLabs
- Video Creation: Tavus AI creates videos with persona avatars
- Progress Tracking: Real-time progress updates during generation
- Final Processing: Completed videos are stored and linked to stories
- Registration: Email verification with Supabase Auth
- Profile Creation: Automatic profile creation with database triggers
- Session Management: Persistent sessions with refresh token handling
- Demo Mode: Guest access with limited functionality
The project uses a custom Tailwind configuration with:
- Custom Color Palette: Primary, secondary, accent colors
- Dark Mode Support: CSS variables for theme switching
- Custom Animations: Smooth transitions and hover effects
- Responsive Breakpoints: Mobile-first design approach
Database includes:
- User Profiles: Extended user information beyond authentication
- Stories Table: Story content with metadata and media URLs
- Story Interactions: Likes, views, bookmarks, and comments
- Row Level Security: Secure data access patterns
Each API is configured with:
- Error Handling: Comprehensive error management
- Rate Limiting: Respect for API rate limits
- Retry Logic: Automatic retry for failed requests
- Caching: Optimized API call patterns
- Consistent Spacing: 8px grid system
- Typography Scale: Hierarchical text sizing
- Color Palette: Carefully selected accessible colors
- Component Library: Reusable, composable components
- ARIA Labels: Screen reader support
- Keyboard Navigation: Full keyboard accessibility
- Focus Management: Logical focus flow
- Color Contrast: WCAG compliant color combinations
- Mobile First: Optimized for mobile devices
- Flexible Layouts: CSS Grid and Flexbox
- Touch Interactions: Mobile-friendly touch targets
- Performance: Optimized loading and rendering
- Row Level Security: Database-level access control
- Input Validation: Client and server-side validation
- XSS Prevention: Sanitized user inputs
- CSRF Protection: Supabase built-in protections
- JWT Tokens: Secure session management
- Password Hashing: Supabase secure password handling
- Email Verification: Confirmed user registrations
- Session Timeout: Automatic session management
- Code Splitting: Route-based code splitting
- Lazy Loading: Component lazy loading
- Image Optimization: Optimized image delivery
- Bundle Size: Minimized bundle size with tree shaking
- Database Indexing: Optimized database queries
- Caching Strategy: Efficient data caching
- CDN Integration: Global content delivery
- Real-time Updates: Efficient real-time subscriptions
- Type Safety: TypeScript for compile-time error checking
- Linting: ESLint for code quality
- Format Checking: Consistent code formatting
- Manual Testing: Comprehensive feature testing
- Unit Tests: Jest + React Testing Library
- Integration Tests: API integration testing
- E2E Tests: Playwright or Cypress
- Performance Tests: Lighthouse CI
npm run build
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on push to main branch
- Build command:
npm run build
- Publish directory:
dist
- Add environment variables in Netlify dashboard
- Build the project:
npm run build
- Serve the
dist
directory with a web server - Configure environment variables on the server
Ensure all environment variables are set in your deployment platform:
- Supabase URL and keys
- API keys for all external services
- Any additional configuration variables
We welcome contributions to StoryForge Pro! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Run tests and linting:
npm run lint
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Write clear commit messages
- Add documentation for new features
- Test your changes thoroughly
- Update the README if needed
This project is licensed under the MIT License - see the LICENSE file for details.
Kommi Druthendra
- π Portfolio: https://ethical0101.github.io/
- πΌ LinkedIn: https://www.linkedin.com/in/kommidruthendra/
- π GitHub: https://github.com/ethical0101
- π§ Email: kommidruthendra2005@gmail.com
- π· Instagram: @i__am__hack_er
- π¦ Twitter: @Druthendra
- Supabase - For providing an excellent backend-as-a-service platform
- Google Gemini AI - For advanced language model capabilities
- ElevenLabs - For realistic voice synthesis technology
- Tavus - For AI video generation with persona avatars
- Vercel - For seamless deployment and hosting
- React Team - For the amazing React framework
- Tailwind CSS - For the utility-first CSS framework
- All the amazing open-source contributors whose libraries make this project possible
- The React and TypeScript communities for continuous innovation
- Radix UI team for accessible component primitives
- Advanced Video Editing: In-app video editing capabilities
- Collaboration Tools: Multi-user story collaboration
- Mobile App: React Native mobile application
- Advanced Analytics: Detailed usage and performance analytics
- API Access: Public API for third-party integrations
- Plugin System: Extensible plugin architecture
- Advanced AI Models: Integration with additional AI services
- Social Features: Enhanced community and sharing features
- Performance Optimization: Further performance enhancements
- Offline Support: Progressive Web App features
- Advanced Caching: Redis integration for better performance
- Microservices: Backend service separation
- GraphQL API: Enhanced API with GraphQL
- Real-time Collaboration: WebSocket-based real-time features
If you encounter any issues or have questions:
- Documentation: Check this README and inline code comments
- Issues: Create a GitHub issue for bugs or feature requests
- Discussions: Use GitHub Discussions for general questions
- Email: Contact the developer directly for urgent matters
If you found this project helpful:
- β Star the repository
- π΄ Fork it for your own use
- π’ Share it with others
- π Report bugs or suggest features
- π Contribute to the codebase
Thanks to bolt.new AI
Built with β€οΈ by Kommi Druthendra β’ Β© 2025 StoryForge Pro
Showcasing modern web development and AI integration expertise