A full-stack AI-powered SaaS platform for text generation and image creation β built on the PERN stack with Clerk authentication, Gemini, and OpenAI.
- π€ AI Text Generation β Powered by Google Gemini for fast, accurate text prompts
- π¨ AI Image Generation β Powered by OpenAI's image generation API
- π Authentication & Billing β Clerk handles sign-up, sign-in, and subscription billing
- ποΈ PostgreSQL on NeonDB β Serverless, scalable database for user and usage data
- β‘ Vite + React β Lightning-fast frontend with hot module replacement
- π¨ Tailwind CSS β Utility-first styling for a clean, responsive UI
- π Axios β HTTP client for clean API communication between frontend and backend
- π‘οΈ Express Middleware β Auth guards, error handling, and request validation on the backend
quick-ai/
βββ client/ # Vite + React frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Route-level pages
β β βββ lib/ # Axios instance & helpers
β β βββ main.jsx
β βββ tailwind.config.js
β βββ vite.config.js
β
βββ server/ # Express backend
β βββ controllers/ # Route handler logic
β βββ middleware/ # Auth, error, validation middleware
β βββ routes/ # API route definitions
β βββ db/ # NeonDB / PostgreSQL connection
β βββ index.js
β
βββ README.md
- Node.js β₯ 18
- A NeonDB account and database URL
- A Clerk account (API keys for auth + billing)
- Google Gemini API key
- OpenAI API key
git clone https://github.com/theubaidistan/quick-ai.git
cd quick-aiserver/.env
DATABASE_URL=your_neondb_connection_string
CLERK_SECRET_KEY=your_clerk_secret_key
GEMINI_API_KEY=your_gemini_api_key
OPENAI_API_KEY=your_openai_api_key
PORT=5000client/.env
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_BASE_URL=http://localhost:5000# Backend
cd server
npm install
npm run dev
# Frontend (in a new terminal)
cd client
npm install
npm run dev| Service | Platform |
|---|---|
| Frontend | Vercel |
| Backend | Vercel |
| Database | NeonDB (Serverless PostgreSQL) |
Built as part of a full-stack JavaScript learning journey following Jonas Schmedtmann's courses on Udemy.
Ubaidistan
- GitHub: @theubaidistan
- Live: quick-ai-jet.vercel.app
