A comprehensive full-stack AI SaaS application that empowers users to create content, generate images, and enhance their digital assets using cutting-edge artificial intelligence.
π Live Demo β’ π Documentation β’ π Quick Start β’ π€ Contributing
Transform your content creation workflow with AI-powered tools
- AI Article Writer: Generate high-quality, engaging articles with customizable length (500-1600+ words)
- Blog Title Generator: Create catchy and SEO-optimized titles across 8 different categories
- AI Image Generation: Produce stunning images from text prompts with 8+ artistic styles
- Background Removal: Automatically remove backgrounds from images using AI
- Object Removal: Seamlessly erase unwanted objects from photos
- Resume Reviewer: Get AI-driven feedback and suggestions to improve your resume
- Authentication: Secure user management with Clerk
- Dashboard: Personal workspace to view all your AI creations
- Community Gallery: Share and discover AI-generated content from other users
- Like System: Engage with community content through likes
- Usage Plans: Free tier with limits + Premium unlimited access
- Responsive Design: Mobile-first approach with Tailwind CSS
- Real-time Feedback: Toast notifications for all user actions
- File Upload: Secure image and PDF upload functionality (5MB limit)
- Content Management: Publish/unpublish your creations
- Database Persistence: All creations are stored and retrievable
- Download Functionality: Download all generated content (images as PNG, text as TXT)
- Loading Animations: Beautiful animated loading states during processing
- Error Handling: Comprehensive error handling with user-friendly messages
- Rate Limiting: Built-in API rate limiting and usage tracking
- React 19 - Modern UI library
- Vite - Fast build tool and development server
- React Router DOM - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- Axios - HTTP client for API requests
- Lucide React - Beautiful icon library
- React Hot Toast - Elegant notifications
- React Markdown - Markdown rendering
- Clerk - Authentication and user management
- Node.js - Runtime environment
- Express.js - Web application framework
- PostgreSQL - Primary database (via Neon)
- Clerk Express - Authentication middleware
- Cloudinary - Image storage and processing
- Multer - File upload handling
- OpenAI API - AI text generation (via Gemini)
- ClipDrop API - AI image generation
- PDF Parse - Resume processing
- Neon PostgreSQL - Serverless PostgreSQL database
- Cloudinary - Cloud-based image and video management
Get Vector.AI running in under 5 minutes:
# 1. Clone the repository
git clone https://github.com/aashutosh585/Vector.AI.git
cd Vector.AI
# 2. Install dependencies (both client and server)
npm run install:all
# 3. Set up environment variables (see .env.example files)
cp client/.env.example client/.env
cp server/.env.example server/.env
# 4. Start development servers
npm run devOpen http://localhost:5173 to see the application.
β‘ Quick Note: You'll need API keys for Clerk, OpenAI/Gemini, ClipDrop, and Cloudinary. See the Environment Variables section for details.
AI SaaS/
βββ client/ # Frontend React application
β βββ public/ # Static assets
β βββ src/
β β βββ assets/ # Images, icons, and data
β β βββ components/ # Reusable UI components
β β β βββ AiTools.jsx # AI tools showcase
β β β βββ CreationItem.jsx # Individual creation display
β β β βββ Footer.jsx # Site footer
β β β βββ Hero.jsx # Landing page hero
β β β βββ Navbar.jsx # Navigation bar
β β β βββ Plan.jsx # Pricing plans
β β β βββ Sidebar.jsx # Dashboard sidebar
β β β βββ Testimonial.jsx # User testimonials
β β βββ pages/ # Application pages
β β β βββ BlogTitles.jsx # Blog title generator
β β β βββ Community.jsx # Community gallery
β β β βββ DashBoard.jsx # User dashboard
β β β βββ GenerateImages.jsx # Image generation
β β β βββ Home.jsx # Landing page
β β β βββ Layout.jsx # App layout wrapper
β β β βββ RemoveBackground.jsx # Background removal
β β β βββ RemoveObject.jsx # Object removal
β β β βββ ReviewResume.jsx # Resume review
β β β βββ WriteArticle.jsx # Article generation
β β βββ App.jsx # Main app component
β β βββ index.css # Global styles
β β βββ main.jsx # App entry point
β βββ .env # Environment variables
β βββ package.json # Dependencies and scripts
β βββ vite.config.js # Vite configuration
βββ server/ # Backend Express application
β βββ configs/ # Configuration files
β β βββ cloudinary.js # Cloudinary setup
β β βββ db.js # Database connection
β β βββ multer.js # File upload config
β βββ controllers/ # Route controllers
β β βββ aiController.js # AI-related endpoints
β β βββ userController.js # User-related endpoints
β βββ middlewares/ # Custom middleware
β β βββ auth.js # Authentication middleware
β βββ routes/ # API routes
β β βββ aiRoutes.js # AI endpoints routing
β β βββ userRoutes.js # User endpoints routing
β βββ package.json # Dependencies and scripts
β βββ server.js # Express server setup
βββ README.md # Project documentation
Before running this application, make sure you have:
- Node.js (v18 or higher) - Download
- npm or yarn - Package manager
- Git - Version control
- Clerk Account - Sign up for authentication
- Neon Database - Create account for PostgreSQL
- Cloudinary Account - Sign up for image storage
- OpenAI/Gemini API Key - Get API key for text generation
- ClipDrop API Key - Get API key for image generation
- Vercel Account - For deployment
- VS Code - Recommended editor with extensions:
- ES7+ React/Redux/React-Native snippets
- Tailwind CSS IntelliSense
- Prettier - Code formatter
# Clone the repository
git clone https://github.com/aashutosh585/Vector.AI.git
cd Vector.AI
# Run automatic setup script
npm run setupgit clone https://github.com/aashutosh585/Vector.AI.git
cd Vector.AI# Install root dependencies
npm install
# Install client dependencies
cd client
npm install
# Install server dependencies
cd ../server
npm install# Create database tables (run from server directory)
cd server
npm run db:setupCreate a .env file in the client directory:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_BASE_URL=http://localhost:3000Create a .env file in the server directory:
# Database
DATABASE_URL=your_neon_postgresql_connection_string
# Authentication
CLERK_SECRET_KEY=your_clerk_secret_key
CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret
# AI Services
GEMINI_API_KEY=your_gemini_api_key
CLIPDROP_API_KEY=your_clipdrop_api_key
# Cloud Storage
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
# Server
PORT=3000
NODE_ENV=development- Start the Backend Server:
cd server
npm run server- Start the Frontend Development Server:
cd client
npm run dev- Access the Application:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:3000
- Frontend:
- Build the Frontend:
cd client
npm run build- Start the Production Server:
cd server
npm start| Method | Endpoint | Description | Parameters | Response | Auth |
|---|---|---|---|---|---|
| POST | /generate-article |
Generate articles with custom length | prompt, length |
{success, content} |
β |
| POST | /generate-blog-title |
Create blog titles by category | prompt |
{success, content} |
β |
| POST | /generate-images |
Generate images from text prompts | prompt, publish |
{success, content} |
β |
| POST | /remove-background |
Remove image backgrounds | image (file) |
{success, content} |
β |
| POST | /remove-image-object |
Remove objects from images | image (file), object |
{success, content} |
β |
| POST | /resume-review |
Analyze and review resumes | resume (PDF file) |
{success, content} |
β |
| Method | Endpoint | Description | Parameters | Response | Auth |
|---|---|---|---|---|---|
| GET | /get-user-creations |
Fetch user's all creations | - | {success, creations[]} |
β |
| GET | /get-published-creations |
Fetch public community creations | - | {success, creations[]} |
β |
| POST | /toggle-like-creation |
Like/unlike community creations | id |
{success, message} |
β |
// Generate an article
const response = await fetch('/api/ai/generate-article', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'Write about artificial intelligence',
length: 800
})
});
const data = await response.json();
console.log(data.content); // Generated articleAll API responses follow this structure:
{
"success": true,
"message": "Operation completed successfully",
"content": "Generated content or data",
"error": null
}CREATE TABLE creations (
id SERIAL PRIMARY KEY,
user_id VARCHAR(255) NOT NULL,
prompt TEXT NOT NULL,
content TEXT NOT NULL,
type VARCHAR(50) NOT NULL, -- 'article', 'blog-title', 'image'
publish BOOLEAN DEFAULT false,
likes TEXT[], -- Array of user IDs who liked
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);- Generate articles from 500 to 1600+ words
- Customizable prompts and topics
- Markdown formatting support
- Instant preview and editing
- 8 categories: General, Technology, Health, Lifestyle, Travel, Food, Education, Business
- SEO-optimized suggestions
- Multiple title variations per request
- 8 artistic styles: Realistic, Ghibli, Cartoon, Anime, Fantasy, 3D, Portrait
- High-quality image output
- Cloudinary integration for storage
- Community sharing options
- AI-powered precision removal
- Support for JPG, PNG formats
- Real-time processing feedback
- Download and save functionality
- Public gallery of user creations
- Like and engagement system
- Real-time updates
- User authentication integration
- Clean & Minimal: Focus on content creation without distractions
- Intuitive Navigation: Easy-to-use interface for all skill levels
- Responsive Design: Seamless experience across all devices
- Dark/Light Mode: Automatic theme detection (coming soon)
- Sign Up/Login: Quick authentication via Clerk
- Choose Tool: Select from 6 AI-powered tools
- Create Content: Input prompts or upload files
- Review Results: Preview generated content with loading animations
- Download & Share: Save locally or publish to community
- Touch-optimized interface
- Responsive layouts for all screen sizes
- Mobile-first design approach
- Progressive Web App (PWA) ready
# Install Vercel CLI
npm i -g vercel
# Deploy frontend
cd client
vercel --prod# Deploy backend
cd server
vercel --prod# Install PM2
npm install -g pm2
# Start server with PM2
cd server
pm2 start server.js --name "vector-ai-backend"
# Build and serve frontend
cd ../client
npm run build
pm2 serve dist 5173 --name "vector-ai-frontend"# Production environment variables
NODE_ENV=production
DATABASE_URL=your_production_database_url
VITE_BASE_URL=https://your-backend-domain.com# Run all tests
npm run test
# Run frontend tests
cd client
npm run test
# Run backend tests
cd server
npm run test
# Run with coverage
npm run test:coveragetests/
βββ unit/ # Unit tests
βββ integration/ # Integration tests
βββ e2e/ # End-to-end tests
βββ fixtures/ # Test data
- Code Splitting: Automatic route-based code splitting
- Image Optimization: Cloudinary automatic optimization
- Caching: API response caching
- Bundle Analysis: Webpack bundle analyzer integration
- Lighthouse Score: 95+ performance rating
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3s
- Bundle Size: < 250KB (gzipped)
# Analyze bundle size
npm run analyze
# Performance audit
npm run lighthouse- Authentication: Clerk-powered secure authentication
- API Protection: JWT token validation
- File Upload Security: File type and size validation
- Rate Limiting: API rate limiting per user
- Data Encryption: Encrypted data transmission (HTTPS)
- Input Sanitization: XSS protection
- Regular dependency updates
- Environment variable protection
- Secure headers implementation
- CORS configuration
- SQL injection prevention
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintnpm run server # Start with nodemon (development)
npm start # Start production serverWe love contributions! Vector.AI is an open-source project and we welcome contributions of all kinds.
- π Bug Reports: Found a bug? Let us know!
- π Feature Requests: Have an idea? We'd love to hear it!
- π» Code Contributions: Submit pull requests
- π Documentation: Improve our docs
- π¨ Design: UI/UX improvements
- π§ͺ Testing: Add or improve tests
-
Fork & Clone
git clone https://github.com/your-username/Vector.AI.git cd Vector.AI -
Create Feature Branch
git checkout -b feature/amazing-feature
-
Make Changes
# Make your changes npm run dev # Test locally
-
Commit Changes
git add . git commit -m "feat: add amazing feature"
-
Push & PR
git push origin feature/amazing-feature # Create Pull Request on GitHub
- Follow the existing code style
- Write clear commit messages
- Add tests for new features
- Update documentation
- Ensure all tests pass
When filing a bug report, please include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Browser/OS information
- Screenshots (if applicable)
For feature requests, please include:
- Clear description of the feature
- Use cases and benefits
- Mockups or examples (if applicable)
- Clerk - Seamless authentication and user management
- OpenAI / Gemini - Powerful AI text generation
- ClipDrop - Advanced AI image generation
- Cloudinary - Reliable image processing and storage
- Neon - Serverless PostgreSQL database
- Vercel - Seamless deployment platform
- Tailwind CSS - Beautiful utility-first CSS framework
- Lucide React - Stunning icon library
- React Hot Toast - Elegant notifications
- Vite - Lightning-fast build tool
- React - Powerful UI library
- Node.js - JavaScript runtime
- Express.js - Web application framework
- The open-source community for continuous inspiration
- Beta testers who provided valuable feedback
- All contributors who helped improve Vector.AI
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π§ Email Support: [email protected]
- π¬ Community Chat: Discord Server
- π Documentation: Wiki
If Vector.AI helped you create amazing content, please consider:
- β Star the repository on GitHub
- π¦ Share on social media with #VectorAI
- π€ Contribute to the project
- π Write a review or blog post
- β Buy me a coffee (coming soon)
π Built with β€οΈ by Ashutosh Maurya
"Empowering creators with AI - one prompt at a time"
π¨βπ» Developer Portfolio: www.aashutosh.me

