Thumblify is a full-stack AI-powered web application that generates YouTube-style thumbnails from text prompts.
Users can log in, describe their idea, and instantly generate thumbnails using AI. Generated images are stored in the cloud and can be accessed later from the user dashboard.
This project demonstrates a real-world MERN architecture with AI integration, authentication, session management, and cloud image storage.
π Live Demo (Frontend): https://thumblify-olive-chi.vercel.app
- Project Overview
- Features
- Tech Stack
- System Architecture
- Screenshots
- AI Generation Flow
- Environment Variables
- Folder Structure
- API Endpoints
- Installation & Setup
- Future Enhancements
- Author & Contact
Thumblify allows creators to generate professional thumbnails for YouTube videos using AI.
Users can:
- Enter prompts
- Choose styles
- Select aspect ratios
- Generate thumbnails instantly
The system stores generated thumbnails in the database and allows users to manage their generated images.
-
π User Authentication
-
π¨ AI Thumbnail Generation
-
βοΈ Prompt-based image generation
-
π Aspect ratio selection
- 16:9 (YouTube)
- 1:1
- 9:16 (Shorts / Reels)
-
π Thumbnail style options
-
π Color scheme customization
-
πΌ Preview generated thumbnails
-
π View generation history
-
β¬ Download thumbnails
- βοΈ Cloudinary image storage
- π€ AI image generation using Cloudflare Workers AI
- π Session-based authentication
- π MongoDB database storage
- β‘ Async thumbnail generation tracking
- π Production-ready CORS configuration
- React
- TypeScript
- Vite
- Tailwind CSS
- React Router
- Axios
- React Hot Toast
- Node.js
- Express.js
- TypeScript
- MongoDB
- Mongoose
- Express Session
- Connect Mongo
- Cloudflare Workers AI
- Cloudinary
- Vercel (Frontend)
- MongoDB Atlas (Database)
React (Frontend)
β Axios
Express API (Backend)
β
MongoDB (Database)
β
Cloudflare Workers AI
β
Generated Image
β
Cloudinary (Image Storage)
User Prompt
β
Frontend sends request
β
Backend API
β
Cloudflare Workers AI
β
Image Generated
β
Upload to Cloudinary
β
Save metadata in MongoDB
β
Return image URL to user
MONGODB_URI=
SESSION_SECRET=
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
Thumblify
β
βββ client/ # React Frontend
β βββ src/
β β βββ components/
β β βββ context/
β β βββ configs/
β β βββ pages/
β β βββ App.tsx
β
βββ server/ # Express Backend
βββ configs/
βββ controllers/
βββ middleware/
βββ models/
βββ routes/
βββ services/
β βββ providers/
βββ server.ts
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | Register user |
| POST | /api/auth/login | Login user |
| GET | /api/auth/logout | Logout user |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/thumbnail/generate | Generate AI thumbnail |
| GET | /api/thumbnail/my | Get user thumbnails |
| DELETE | /api/thumbnail/:id | Delete thumbnail |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/user/profile | Get user profile |
git clone https://github.com/abhijitradhakrishnan/Thumblify.git
cd Thumblify
Frontend
cd client
npm install
Backend
cd ../server
npm install
Backend
npm run dev
Frontend
cd client
npm run dev
- More thumbnail styles
- Prompt suggestions
- AI text overlays
- User credit system
- Thumbnail templates
- Public gallery
- Image editing tools
- Background generation queue
- Redis caching
- Rate limiting
Abhijit Peringadan
MERN Stack Developer
π§ Email: peringadanabhijit@gmail.com
π LinkedIn
π Portfolio