An AI-powered social content generator that creates on-brand posts using 3 intelligent voice analysis methods.
π Live Demo: https://tweetforge-ai.vercel.app
π GitHub: https://github.com/Brijuval/tweetforge-ai
TweetForge takes your brand details, analyzes your brand voice, and generates 10 on-brand social posts in multiple styles (promotional, engaging, witty, informative, inspirational, and question-style).
You can now choose a target platform before generation:
- Twitter/X
- Added a more professional landing experience with feature highlights, testimonials, how-it-works flow, and footer links.
- Added multi-platform generation support for Twitter/X, LinkedIn, and Instagram.
- Added tweet history with local storage persistence for completed generations (brand + timestamp).
- Added history actions: restore form state, regenerate from history, delete individual entries, and clear-all with confirmation.
- Added
Copy Allto copy all generated posts in one click, while preserving per-post copy and export. - Improved error handling with clearer API errors, retry action, and loading skeletons.
- Refined UI polish with responsive breakpoints, icon accents, and micro-interactions.
- Refactored codebase to separate logic and UI into dedicated modules (
constants,lib,utils,components).
| Method | How it works | Best for |
|---|---|---|
| π‘ Social Post Analysis | Paste real posts β AI extracts tone, themes, voice patterns | Existing brands with content |
| π§ AI Inference | Describe your brand β AI infers everything automatically | New brands or quick testing |
| π Manual Definition | Hand-pick tones, themes, audience yourself | Full creative control |
- Professional Landing Page β Hero, feature highlights, testimonials, how-it-works flow, and polished footer
- Brand Voice Analysis β 5-dimension scoring (Professionalism, Friendliness, Humor, Authority, Engagement)
- 10 Post Mix β Promotional, Engaging, Witty, Informative, Inspirational, Question
- Platform-aware Generation β Optimized prompting for Twitter/X, LinkedIn, and Instagram
- Filter by Style β View tweets by category
- Tweet History β Saves completed generation results to
localStoragewith brand name and timestamp - History Actions β Restore form, regenerate output, delete one item, or clear all with confirmation
- Copy & Export β Copy individual tweets, copy all 10 at once, or export full report as
.txt - Regenerate β Instantly re-generate with same brand settings
- Better Error Handling β Specific API errors, retry action, and loading skeletons
- Responsive UI β Works on desktop and mobile
| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite |
| Styling | Modular CSS (src/tweetforge.css for global + component styles) |
| AI Model | Groq API β LLaMA 3.3 70B |
| Architecture | Separated modules (constants, API/lib, utils, UI components) |
| Fonts | Outfit + Lora (Google Fonts) |
| Deployment | Vercel (free) |
- Node.js 18+
- Groq API key (free at console.groq.com)
# Clone the repo
git clone https://github.com/Brijuval/tweetforge-ai.git
cd tweetforge-ai
# Install dependencies
npm install
# Create .env file
echo "VITE_GROQ_API_KEY=your_key_here" > .env
# Start dev server
npm run devNote: if port 5173 is occupied, Vite automatically starts on another port (for example 5174).
tweetforge-ai/
βββ src/
β βββ TweetForge.jsx β Main screen/state orchestrator
β βββ components/
β β βββ DimBar.jsx
β β βββ TweetCard.jsx
β βββ constants/
β β βββ tweetforge.js
β βββ lib/
β β βββ groq.js
β βββ utils/
β β βββ tweetforge.js
β βββ tweetforge.css β Main app styling and responsive design
β βββ App.jsx β Entry point
β βββ main.jsx β React root
βββ public/
β βββ screenshots/
β βββ ...
βββ index.html
βββ .env β API key (not committed)
βββ .gitignore
βββ vite.config.js
βββ package.json
βββ README.md
- Mode: AI Inference
- Industry: Food & Beverage
- Tone Hints: Witty, Humorous, Casual
- Products: Food delivery, restaurant discovery, Zomato Gold
- Objective: User Engagement
Expected output: Funny, relatable tweets with food puns and meme-style content
- Mode: Manual Definition
- Tones: Bold, Inspirational, Minimal, Authoritative
- Themes: Product Features, Motivation, Announcements
- Industry: Automotive
- Objective: Brand Awareness
Expected output: Short, powerful tweets about innovation and a sustainable future
- Mode: Social Post Analysis β Platform: Twitter/X
- Paste real or sample Nike tweets
- Brand Name: Nike, Industry: Sports
Expected output: Motivational, bold tweets matching Nike's real voice
Method 1 β Social Post Analysis
- User pastes real social media posts
- A separate Groq API call analyzes the posts
- Extracts: dominant tones, target audience, content themes, voice observations, 5 dimension scores
- This voice profile is then injected into the tweet generation prompt
Method 2 β AI Inference
- User provides brand description, industry, audience, and optional tone hints
- AI infers all voice attributes from context
- Single API call handles both analysis and generation
Method 3 β Manual Definition
- User directly selects tones (12 options), themes (12 options), audience, and voice notes
- User-defined parameters are passed directly into the generation prompt
- Strict JSON schema enforced in every prompt β AI returns only raw JSON
- System role set to "brand strategist and social media copywriter."
- Style distribution explicitly specified: 2 promotional, 2 engaging, 2 witty, 2 informative, 1 inspirational, 1 question
- Platform-specific constraints in prompt:
- Twitter/X: concise, tweet-like outputs near 280 chars
- LinkedIn: more professional long-form style
- Instagram: caption-friendly style with CTA and hashtag usage
- Voice context dynamically injected based on selected analysis method
- Temperature 0.9 for creative variation while staying on-brand
Deployed on Vercel (free tier):
- Connect GitHub repo to Vercel
- Add
VITE_GROQ_API_KEYas an environment variable - Auto-deploys on every
git push
MIT License β free to use and modify.
Built by Valmeeki / Brijuval as part of an AI Tools & Workflows assignment.
Powered by Groq Β· LLaMA 3.3 70B Β· Vite Β· React





