Full-Stack AI-Powered Creative Content Generator
Transform your keywords into engaging content with the power of Google Gemini AI. Creative AI Studio is a modern React application with a Node.js backend that creates personalized jokes, Shayari, stories, and much more on demand.
- 14+ Content Types - Jokes, Shayari, Stories, Riddles, Pickup Lines, Roasts, Compliments, Dad Jokes, Haiku, Rap Lyrics, Tweet Threads, Acrostic Poems, Motivational Speeches, and Quotes
- Tone Customization - Choose from Funny, Serious, Romantic, or Motivational tones
- Length Control - Short, Medium, or Long output options
- Trending Topics - Quick-start with curated keyword suggestions
- Modern UI - Beautiful gradient designs with smooth animations
- Dark Mode - Toggle between light and dark themes
- History Tracking - Save and revisit your last 50 generations
- Quick Actions - Copy, Download, and Share generated content
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Confetti Celebrations - Fun animations on successful generation
- Rate Limiting - Protection against API abuse (100 requests per 15 minutes)
- Error Handling - Comprehensive error messages and user feedback
- Local Storage - Client-side history and preferences
- Fast API - Optimized backend responses with Gemini 2.5 Flash
- React 18.2.0 - UI framework
- Chakra UI 2.8.1 - Component library
- Framer Motion 12.x - Smooth animations
- React Icons 5.x - Icon library
- React Confetti 6.x - Celebration effects
- Axios 1.5.1 - API requests
- Node.js + Express.js - Server framework
- Google Gemini API (2.5 Flash) - AI content generation
- Helmet - Security headers
- CORS - Cross-origin resource sharing
- Express Rate Limit - API rate limiting
- dotenv - Environment configuration
- Node.js (v14.0.0 or higher)
- npm (v6.0.0 or higher)
- Google Gemini API Key (Get one free here)
git clone https://github.com/yourusername/ContentGenerator.git
cd ContentGeneratorcd backend
npm installCreate a .env file in the backend directory:
GEMINI_API_KEY=your_gemini_api_key_here
PORT=5000Start the backend server:
npm startThe backend will run on http://localhost:5000
Open a new terminal in the project root:
npm installCreate a .env file in the root directory:
REACT_APP_API_URL=http://localhost:5000Start the React app:
npm startThe app will open at http://localhost:3000
- Select Content Type - Choose from 14+ content types (jokes, stories, quotes, etc.)
- Enter Keyword - Type your keyword or click a trending topic
- Customize - Select tone (funny, serious, romantic, motivational) and length (short, medium, long)
- Generate - Click the β¨ Generate button
- Enjoy - Copy, download, or share your AI-generated content!
| Type | Description | Icon |
|---|---|---|
| Shayari | Urdu/Hindi poetry with elegant verses | π |
| Joke | Clever and witty humor | π |
| Quote | Inspirational and meaningful quotes | π |
| Story | Engaging short narratives | π |
| Riddle | Brain teasers with answers | π€ |
| Pickup Line | Charming and respectful lines | π |
| Roast | Playful, light-hearted roasts | π₯ |
| Compliment | Genuine and heartwarming compliments | π |
| Dad Joke | Classic pun-based humor | π¨ |
| Haiku | Traditional 5-7-5 syllable poems | π |
| Rap Lyrics | Rhyming verses with wordplay | π€ |
| Tweet Thread | Engaging social media threads | π¦ |
| Acrostic | Poems where first letters spell words | βοΈ |
| Motivational Speech | Powerful and inspiring speeches | πͺ |
ContentGenerator/
βββ backend/ # Node.js Express backend
β βββ server.js # Main server file
β βββ package.json # Backend dependencies
β βββ .env # Environment variables (Gemini API key)
β βββ README.md # Backend documentation
βββ src/ # React frontend source
β βββ Components/ # React components
β β βββ Content.jsx # Main content generator
β β βββ ContentCard.jsx # Generated content display
β β βββ Header.jsx # App header with branding
β β βββ HistorySidebar.jsx # Generation history panel
β β βββ Footer.jsx # App footer
β βββ hooks/ # Custom React hooks
β β βββ useLocalStorage.js # localStorage hook
β βββ utils/ # Utility functions
β β βββ animations.js # Framer Motion configs
β β βββ constants.js # App constants
β βββ App.js # Main app component
β βββ App.css # App styles
β βββ index.js # React entry point
β βββ index.css # Global styles
βββ public/ # Public assets
β βββ index.html
β βββ favicon.ico
β βββ manifest.json
βββ .env # Frontend env (API URL)
βββ package.json # Frontend dependencies
βββ README.md # This file
Base URL: http://localhost:5000
Generate content based on parameters.
Request Body:
{
"type": "joke",
"keyword": "programming",
"tone": "funny",
"length": "short"
}Response:
{
"success": true,
"result": "Generated content here...",
"metadata": {
"type": "joke",
"keyword": "programming",
"tone": "funny",
"length": "short",
"model": "gemini-2.5-flash",
"timestamp": "2025-12-15T13:00:00.000Z"
}
}Get all available content types.
Health check endpoint.
API information and available endpoints.
Edit backend/server.js and add to the contentConfigs object:
'your-type': {
systemPrompt: 'System instruction for AI...',
userPromptTemplate: (keyword, tone, length) =>
`Generate ${tone} content about "${keyword}". Length: ${length}.`
}Modify colors in src/index.css or update Chakra UI theme in src/index.js.
GEMINI_API_KEY=your_google_gemini_api_key
PORT=5000
NODE_ENV=developmentREACT_APP_API_URL=http://localhost:5000- Build the frontend:
npm run build - Deploy the
buildfolder - Set environment variable:
REACT_APP_API_URL=your_backend_url
- Deploy
backendfolder - Set environment variables:
GEMINI_API_KEYPORT(usually auto-set)
- Note the deployed URL and update frontend env
- Ensure your Gemini API key is valid at Google AI Studio
- Check that the
.envfile is in the correct location - Restart the backend server after updating
.env
- Verify backend is running on port 5000
- Check
REACT_APP_API_URLin frontend.env - Ensure both servers are running
- Wait a few moments between requests (free tier has limits)
- The app enforces 100 requests per 15 minutes per IP
This project is open source and available under the MIT License.
- Built with React
- UI components from Chakra UI
- Animations by Framer Motion
- Powered by Google Gemini API
For issues and questions:
- Open an issue on GitHub
- Check the troubleshooting section
Powered by Google Gemini 2.5 Flash