Quick.ai is a full-stack AI-powered web application built with the MERN stack (using Express + PostgreSQL instead of MongoDB) that provides a suite of intelligent tools for content creation, image generation, and productivity enhancement. It supports secure authentication, subscription-based access control, and a vibrant community hub for sharing AI creations.
- Secure sign-up and sign-in using Clerk
- Session-based authentication with protected routes
- Free & Premium user roles
- Feature access based on subscription level
- Article Writer β Generate high-quality articles using Google's Gemini API
- Image Generator β Create images from text prompts using ClipDrop API
- Background removal
- Object removal from images
- Resume Reviewer β Upload PDF resumes and receive AI-powered analysis and feedback
- Browse creations from other users
- Like & unlike community posts
- Manage and view personal AI-generated content
- React
- Vite
- Tailwind CSS
- Node.js
- Express.js
- Neon (Serverless PostgreSQL)
- Clerk
- Google Gemini API β Text generation
- ClipDrop API β Image generation
- Cloudinary β Image storage & processing
- pdf-parse β Resume PDF parsing
quick-ai/
β
βββ client/ # Frontend (React + Vite)
βββ server/ # Backend (Express API)
β βββ configs/ # Cloudinary & DB configuration
β βββ controllers/ # Business logic
β βββ routes/ # API routes
β βββ server.js # Main entry point
β βββ middleware/ # Auth & helpers
β
βββ .env # Environment variables
βββ package.json
βββ README.md
- Node.js v18+
- npm or yarn
- Accounts for Clerk, Neon DB, Google AI, ClipDrop, and Cloudinary
git clone https://github.com/your-username/quick-ai.git
cd quick-aicd server
npm installcd client
npm installCreate a .env file inside the server folder and add the following:
# Server Port
PORT=5000
# Neon PostgreSQL Database Connection String
DATABASE_URL="postgresql://..."
# Clerk Authentication (Server)
CLERK_SECRET_KEY="sk_test_..."
# AI API Keys
GEMINI_API_KEY="your_gemini_api_key"
CLIPDROP_API_KEY="your_clipdrop_api_key"
# Cloudinary Credentials
CLOUDINARY_CLOUD_NAME="your_cloudinary_cloud_name"
CLOUDINARY_API_KEY="your_cloudinary_api_key"
CLOUDINARY_API_SECRET="your_cloudinary_api_secret"Create a .env file inside the client folder and add the following:
# Clerk Publishable Key (Frontend)
VITE_CLERK_PUBLISHABLE_KEY="pk_test_..."
# Base URL for Backend Server
VITE_BASE_URL=http://localhost:5000cd server
npm startcd client
npm run devFrontend will run on:
http://localhost:5173
Backend will run on:
http://localhost:5000
- Fully scalable AI SaaS platform architecture
- Role-based access control (Free / Premium)
- Secure image storage with Cloudinary
- Serverless PostgreSQL for performance
- Optimized MERN architecture
Yash Savalkar Full Stack Web Developer
If you like this project, don't forget to β star the repository!