TechForge is a premium, production-ready, full-stack AI-powered career and technical interview preparation platform. It enables candidates to master their technical interviewing skills through interactive voice mock interviews, automated resume ATS scoring, interactive DSA practice, and real-time daily coding challenges with global rankings.
π Explore the Live App: https://tech-forge-zeta.vercel.app
- π£οΈ AI Verbal Mock Interviews: Verbal response tracking via web voice recognition, delivering precise OpenAI evaluations, transcriptions, and actionable feedback metrics.
- π Resume ATS Optimizer: Instantly scan and score resumes against industry roles with detailed feedback reports on impact, keyword match, formatting, and structural issues.
- π» DSA Practice & Tracking: Log LeetCode-style coding practice sessions with progress charts, streak indicators, and multi-language solution stubs.
- π Live Daily Challenges: Solve algorithmic puzzles in JavaScript, Python, Java, C++, or C directly in a custom VS Code-style interactive console with a step-by-step compiling terminal.
- β‘ Interactive Gamification: Real-time streaks, custom neon achievements, and a live global Leaderboard to spark competitive learning.
TechForge features a rich, responsive interface designed to feel alive and premium:
- Google Antigravity Particles: A custom canvas-based background (
BackgroundParticles.jsx) with realistic friction and inertia. Particles respond dynamically to mouse coordinates with proximity attraction, tanget orbital swirling, and center repulsion. Includes active culling to keep CPU usage low. - Framer Motion Transitions: Smooth page transitions, micro-interactive list layouts, slide-up compiling console panels, and responsive modal overlays (Pricing, About Us, Contacts, Privacy).
- Dual Theme Support: Beautiful CSS variable system backing seamless dark mode and light mode color changes.
| Layer | Technologies |
|---|---|
| Frontend | React 19 (Vite), Framer Motion, Tailwind CSS, Recharts, Lucide React, Axios, Context API |
| Backend | Node.js, Express.js (MVC), Passport.js, JWT, Helmet, Express-Rate-Limit |
| Database & Storage | MongoDB, Mongoose, Multer, Cloudinary Stream API |
| AI & Mail Services | OpenAI API (Structured JSON parsing), Nodemailer SMTP |
βββ backend/
β βββ config/ # DB, Cloudinary, and Passport configs
β βββ controllers/ # Express API request controllers (MVC)
β βββ middleware/ # Auth verification, rate limiting, and uploads
β βββ models/ # Mongoose schemas
β βββ routes/ # Express routing paths
β βββ services/ # OpenAI prompt helpers and email dispatches
β βββ .env.example # Reference environment file
β βββ server.js # Server startup script
β
βββ frontend/
β βββ public/ # Static assets, redirects, and favicon
β βββ src/
β β βββ components/ # Canvas particles, layouts, and modals
β β βββ context/ # Session Auth and Theme contexts
β β βββ pages/ # Dashboard, Mocks, Resumes, and DSA pages
β β βββ utils/ # Axios HTTP clients and helper utilities
β β βββ App.jsx # App router switchboard
β βββ vercel.json # SPA router redirection mappings
β βββ package.json # Frontend manifest
- Node.js (v18.0.0 or higher)
- MongoDB instance (local or Atlas cluster)
- Navigate to the backend folder:
cd backend - Install dependencies:
npm install
- Create a
.envfile based on.env.exampleand fill in your custom environment configurations:cp .env.example .env
- Start the server:
npm run dev
- Navigate to the frontend folder:
cd ../frontend - Install dependencies:
npm install
- Create a
.envfile based on.env.exampleand fill in your client configuration:cp .env.example .env
- Start the client:
npm run dev
POST /api/auth/register- Register standard credentialsPOST /api/auth/login- Sign in standard credentialsGET /api/auth/google- Initiate Passport Google OAuth login flowGET /api/auth/google/callback- OAuth authorization code callback handlerGET /api/auth/profile- Fetch current active session profile details
POST /api/resumes/upload- Upload PDF resume for AI parsing and ATS scoringGET /api/resumes/history- Retrieve resume history listGET /api/resumes/:id- Fetch details of a single scan analysis report
POST /api/interviews/generate- Seed custom questions based on role filtersPOST /api/interviews/sessions/:id/submit-answer- Submit verbal response transcriptionsPOST /api/interviews/sessions/:id/evaluate- Finalize mock run and invoke OpenAI grader reportsGET /api/interviews/sessions- List completed mock sessions list
GET /api/dsa/progress- Fetch completed problem checklistsPOST /api/dsa/progress- Toggle problem completion statusGET /api/challenges/daily- Retrieve active daily challenge itemsPOST /api/challenges/submit- Validate submissions and log pointsGET /api/leaderboard- Fetch sorted global points list




