~/posts/freelancing-platform-mern
Freelancing Platform: a full-stack MERN marketplace with live chat
- full-stack
- mern
- react
- realtime

Built during my SmartBridge × AICTE full-stack (MERN) internship, this is the project that turned three years of tutorials into one product: a freelancing marketplace where clients post jobs and freelancers find them, bid on them, and manage them — all inside one app with real-time messaging.
Repo: github.com/SabarishR08/freelancing-platform-mern

The SB Works landing page — clients post, freelancers bid, everything inside one app.
What it does
For clients:
- Post jobs with detailed requirements
- Browse freelancer profiles and proposals, then hire
- Chat with freelancers in real time and track job status
For freelancers:
- Browse available jobs and submit proposals
- Manage ongoing projects
- Chat with clients and update job status
The stack
MongoDB · Express.js · React.js · Node.js — with two features doing the heavy lifting:
- JWT + Bcrypt authentication — registration, login, and route guards protecting every action behind a verified session
- Socket.io real-time messaging — the chat system connects clients and freelancers live, with the connection handling (rooms, events, typing states) built end to end in Express
The API layer was designed end to end: models, controllers, auth middleware, and socket event wiring — the whole "backend shape" that later made the Digital QR Prescription and LLM middleware systems feel familiar.

Sending a proposal — the bid carries budget, timeline, and a cover letter, and the client gets it instantly.

A client's view of an incoming application — approve or reject with one click, then the chat unlocks.
What the internship added
The SmartBridge program came with the MongoDB Node.js Developer Path certification track, which pushed the data modeling past toy examples — relational thinking inside a document database: jobs ↔ proposals ↔ conversations, with indexes and query patterns that held up as features grew.
What I'd do differently
- Design the socket event contract first. Chat felt easy until two clients connected; a written event schema would have saved debugging hours.
- Seed realistic demo data early. Proposals and job statuses look dramatically better when the demo has ten jobs, not one.
- Payments belong in the first cut, not "coming soon" — the payment model shapes the data schema, and retrofitting it is expensive.
If you're learning the MERN stack: build the marketplace. It forces auth, real-time, file-like data relationships, and UI state management all at once — there is no part of full-stack development it lets you skip.