A video-first job platform connecting freelancers and recruiters with AI-powered video generation.
https://rapid-gigs.vercel.app/
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, TailwindCSS, Vite |
| Backend | Node.js, Express, TypeScript, MongoDB, Mongoose |
| AI Services | Groq, OpenRouter, Ollama (text), Wan 2.1/Kling/Seedance (video) |
| Storage | Cloudinary |
| Auth | JWT + Google OAuth |
| Real-time | Socket.IO |
| Deployment | Vercel (frontend), Render (backend) |
┌─────────────┐ HTTPS ┌─────────────────┐
│ Vercel │ ────────────▶ │ Render │
│ (React) │ │ (Express API) │
│ │ ◀──────────── │ │
└─────────────┘ JSON/API └────────┬────────┘
│
┌────────┴────────┐
│ │
┌──────────────┐ ┌──────────────┐
│ MongoDB │ │ Cloudinary │
│ Atlas │ │ (files) │
└──────────────┘ └──────────────┘
git clone https://github.com/Kiranpjk/RapidGigs.git
cd RapidGigs
npm run dev
This starts:
http://localhost:3001http://localhost:5173Backend:
cd backend
npm install
# Create .env (see Configuration below)
npm run dev
Frontend:
cd frontend
npm install
npm run dev
Run tests:
npm run dev:backend # backend only
npm run dev:frontend # frontend only
Create backend/.env:
PORT=3001
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/rapidgig
JWT_SECRET=your_secret_here
CORS_ORIGIN=http://localhost:5173
# Google OAuth
GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_client_secret
# Cloudinary (free tier: 25GB)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# AI Services (free tiers)
GROQ_API_KEY=your_groq_key
OPENROUTER_API_KEY=your_openrouter_key
FAL_KEY=your_fal_key
REPLICATE_API_TOKEN=your_replicate_token
POLLINATIONS_KEY=your_pollinations_key
Create frontend/.env:
VITE_API_BASE=http://localhost:3001/api
VITE_GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
| Method | Path | Description |
|---|---|---|
| POST | /api/auth/register | Register user |
| POST | /api/auth/login | Login |
| POST | /api/auth/google | Google OAuth login |
| GET | /api/jobs | List all jobs |
| POST | /api/jobs | Create job |
| GET | /api/videos | List videos |
| POST | /api/videos | Upload video |
| GET | /api/shorts/feed | Shorts video feed |
| POST | /api/shorts/generate | AI video generation |
| GET | /api/applications/job/:id | View job applications |
| POST | /api/applications | Apply to job |
| GET | /api/users/search?q= | Search users |
| PATCH | /api/users/:id | Update profile |
| GET | /api/messages/threads | Message threads |
| POST | /api/messages | Send message |
mainnpm install && npm run build, start: npm startA video-first job platform connecting freelancers and recruiters with AI-powered video generation.
https://rapid-gigs.vercel.app/
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, TailwindCSS, Vite |
| Backend | Node.js, Express, TypeScript, MongoDB, Mongoose |
| AI Services | Groq, OpenRouter, Ollama (text), Wan 2.1/Kling/Seedance (video) |
| Storage | Cloudinary |
| Auth | JWT + Google OAuth |
| Real-time | Socket.IO |
| Deployment | Vercel (frontend), Render (backend) |
┌─────────────┐ HTTPS ┌─────────────────┐
│ Vercel │ ────────────▶ │ Render │
│ (React) │ │ (Express API) │
│ │ ◀──────────── │ │
└─────────────┘ JSON/API └────────┬────────┘
│
┌────────┴────────┐
│ │
┌──────────────┐ ┌──────────────┐
│ MongoDB │ │ Cloudinary │
│ Atlas │ │ (files) │
└──────────────┘ └──────────────┘
git clone https://github.com/Kiranpjk/RapidGigs.git
cd RapidGigs
npm run dev
This starts:
http://localhost:3001http://localhost:5173Backend:
cd backend
npm install
# Create .env (see Configuration below)
npm run dev
Frontend:
cd frontend
npm install
npm run dev
Run tests:
npm run dev:backend # backend only
npm run dev:frontend # frontend only
Create backend/.env:
PORT=3001
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/rapidgig
JWT_SECRET=your_secret_here
CORS_ORIGIN=http://localhost:5173
# Google OAuth
GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_client_secret
# Cloudinary (free tier: 25GB)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# AI Services (free tiers)
GROQ_API_KEY=your_groq_key
OPENROUTER_API_KEY=your_openrouter_key
FAL_KEY=your_fal_key
REPLICATE_API_TOKEN=your_replicate_token
POLLINATIONS_KEY=your_pollinations_key
Create frontend/.env:
VITE_API_BASE=http://localhost:3001/api
VITE_GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
| Method | Path | Description |
|---|---|---|
| POST | /api/auth/register | Register user |
| POST | /api/auth/login | Login |
| POST | /api/auth/google | Google OAuth login |
| GET | /api/jobs | List all jobs |
| POST | /api/jobs | Create job |
| GET | /api/videos | List videos |
| POST | /api/videos | Upload video |
| GET | /api/shorts/feed | Shorts video feed |
| POST | /api/shorts/generate | AI video generation |
| GET | /api/applications/job/:id | View job applications |
| POST | /api/applications | Apply to job |
| GET | /api/users/search?q= | Search users |
| PATCH | /api/users/:id | Update profile |
| GET | /api/messages/threads | Message threads |
| POST | /api/messages | Send message |
mainnpm install && npm run build, start: npm start