Kiranpjk/RapidGigs

TypeScript

0

82 commits

updated May 9, 2026

See the code

README

RapidGig

A video-first job platform connecting freelancers and recruiters with AI-powered video generation.

Live Demo

https://rapid-gigs.vercel.app/

Features

  • AI Video Generation — 30-second promotional videos stitched from cinematic prompts using multi-provider failover (Pollinations, Replicate, fal.ai)
  • Video Shorts Feed — TikTok-style vertical video feed for job introductions
  • User Authentication — Email/password + Google OAuth login
  • Job Listings — Create, browse, filter, and apply to jobs
  • Applications — Students apply with resumes and video introductions; recruiters review and manage applicant status
  • Real-time Messaging — Built-in chat between students and recruiters
  • Role-based Access — Separate dashboards for students and recruiters
  • Cloud Storage — File uploads stored on Cloudinary (persistent across deploys)

Tech Stack

LayerTechnology
FrontendReact 18, TypeScript, TailwindCSS, Vite
BackendNode.js, Express, TypeScript, MongoDB, Mongoose
AI ServicesGroq, OpenRouter, Ollama (text), Wan 2.1/Kling/Seedance (video)
StorageCloudinary
AuthJWT + Google OAuth
Real-timeSocket.IO
DeploymentVercel (frontend), Render (backend)

Architecture

┌─────────────┐     HTTPS     ┌─────────────────┐
│  Vercel     │ ────────────▶ │     Render      │
│  (React)    │               │  (Express API)  │
│             │ ◀──────────── │                 │
└─────────────┘   JSON/API    └────────┬────────┘
                                       │
                              ┌────────┴────────┐
                              │                 │
                       ┌──────────────┐  ┌──────────────┐
                       │  MongoDB     │  │  Cloudinary  │
                       │  Atlas       │  │  (files)     │
                       └──────────────┘  └──────────────┘

Getting Started

Prerequisites

  • Node.js 22+
  • MongoDB (local or Atlas URI)

Quick Start

git clone https://github.com/Kiranpjk/RapidGigs.git
cd RapidGigs
npm run dev

This starts:

  • Backend API on http://localhost:3001
  • Frontend app on http://localhost:5173

Manual Setup

Backend:

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

Configuration

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

API Endpoints

MethodPathDescription
POST/api/auth/registerRegister user
POST/api/auth/loginLogin
POST/api/auth/googleGoogle OAuth login
GET/api/jobsList all jobs
POST/api/jobsCreate job
GET/api/videosList videos
POST/api/videosUpload video
GET/api/shorts/feedShorts video feed
POST/api/shorts/generateAI video generation
GET/api/applications/job/:idView job applications
POST/api/applicationsApply to job
GET/api/users/search?q=Search users
PATCH/api/users/:idUpdate profile
GET/api/messages/threadsMessage threads
POST/api/messagesSend message

AI Video Pipeline

  1. Prompt Enhancement — Job description → cinematic video prompt via OpenRouter → Groq → Ollama
  2. Clip Generation — 3×10s segments via multi-provider failover:
    • Pollinations (free)
    • Replicate (free tier)
    • Hugging Face Router
    • fal.ai (pay-per-use)
  3. Image-to-Video Stitching — Last frame of each clip feeds the next for continuity
  4. Concatenation — ffmpeg stitches clips into one 30s video

Deployment

  • Frontend: Vercel — auto-deploys on push to main
  • Backend: Render — build: npm install && npm run build, start: npm start
  • Database: MongoDB Atlas (free tier, 512MB)
  • Storage: Cloudinary (free tier, 25GB)

Kiranpjk/RapidGigs

TypeScript

0

82 commits

updated May 9, 2026

See the code

README

RapidGig

A video-first job platform connecting freelancers and recruiters with AI-powered video generation.

Live Demo

https://rapid-gigs.vercel.app/

Features

  • AI Video Generation — 30-second promotional videos stitched from cinematic prompts using multi-provider failover (Pollinations, Replicate, fal.ai)
  • Video Shorts Feed — TikTok-style vertical video feed for job introductions
  • User Authentication — Email/password + Google OAuth login
  • Job Listings — Create, browse, filter, and apply to jobs
  • Applications — Students apply with resumes and video introductions; recruiters review and manage applicant status
  • Real-time Messaging — Built-in chat between students and recruiters
  • Role-based Access — Separate dashboards for students and recruiters
  • Cloud Storage — File uploads stored on Cloudinary (persistent across deploys)

Tech Stack

LayerTechnology
FrontendReact 18, TypeScript, TailwindCSS, Vite
BackendNode.js, Express, TypeScript, MongoDB, Mongoose
AI ServicesGroq, OpenRouter, Ollama (text), Wan 2.1/Kling/Seedance (video)
StorageCloudinary
AuthJWT + Google OAuth
Real-timeSocket.IO
DeploymentVercel (frontend), Render (backend)

Architecture

┌─────────────┐     HTTPS     ┌─────────────────┐
│  Vercel     │ ────────────▶ │     Render      │
│  (React)    │               │  (Express API)  │
│             │ ◀──────────── │                 │
└─────────────┘   JSON/API    └────────┬────────┘
                                       │
                              ┌────────┴────────┐
                              │                 │
                       ┌──────────────┐  ┌──────────────┐
                       │  MongoDB     │  │  Cloudinary  │
                       │  Atlas       │  │  (files)     │
                       └──────────────┘  └──────────────┘

Getting Started

Prerequisites

  • Node.js 22+
  • MongoDB (local or Atlas URI)

Quick Start

git clone https://github.com/Kiranpjk/RapidGigs.git
cd RapidGigs
npm run dev

This starts:

  • Backend API on http://localhost:3001
  • Frontend app on http://localhost:5173

Manual Setup

Backend:

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

Configuration

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

API Endpoints

MethodPathDescription
POST/api/auth/registerRegister user
POST/api/auth/loginLogin
POST/api/auth/googleGoogle OAuth login
GET/api/jobsList all jobs
POST/api/jobsCreate job
GET/api/videosList videos
POST/api/videosUpload video
GET/api/shorts/feedShorts video feed
POST/api/shorts/generateAI video generation
GET/api/applications/job/:idView job applications
POST/api/applicationsApply to job
GET/api/users/search?q=Search users
PATCH/api/users/:idUpdate profile
GET/api/messages/threadsMessage threads
POST/api/messagesSend message

AI Video Pipeline

  1. Prompt Enhancement — Job description → cinematic video prompt via OpenRouter → Groq → Ollama
  2. Clip Generation — 3×10s segments via multi-provider failover:
    • Pollinations (free)
    • Replicate (free tier)
    • Hugging Face Router
    • fal.ai (pay-per-use)
  3. Image-to-Video Stitching — Last frame of each clip feeds the next for continuity
  4. Concatenation — ffmpeg stitches clips into one 30s video

Deployment

  • Frontend: Vercel — auto-deploys on push to main
  • Backend: Render — build: npm install && npm run build, start: npm start
  • Database: MongoDB Atlas (free tier, 512MB)
  • Storage: Cloudinary (free tier, 25GB)