A micro-task marketplace with a real money economy

55
API endpoints across 6 collections and 3 roles
Micro-tasks
MERN
Stripe
MicroEarn connects buyers posting paid tasks with workers who complete them for digital coins — coins that are bought with real Stripe payments and withdrawn as real money. It's a solo build where money correctness had to be perfect.
Video_CS_001
Services
Product Design
Frontend Engineering (React 19)
Backend Engineering (Express 5)
Database Design (MongoDB)
Authentication (Firebase)
Payments (Stripe)
Roles & Permissions
Date
2025 — 2026
View live
the challenge
Micro-task marketplaces are simple to describe and hard to build well: buyers post paid tasks, workers complete them for money, and a platform takes its cut. The hard parts are financial — coins must be bought with real money, workers must be paid out, and no balance can ever go negative or be credited twice.

As a solo student project, the scope was a full product: three roles (buyer, worker, admin), a virtual coin economy backed by real Stripe payments, worker withdrawals, and a polished multi-dashboard experience across 30 client routes.
Video_CS_002
IMAGE_CS_001
MicroEarn task marketplace landing page.
IMAGE_CS_002
MicroEarn buyer dashboard and coin purchase flow.
the solution
The architecture is deliberately split: a React 19 + Vite single-page app served by Firebase Hosting, and an Express 5 + MongoDB API deployed to Vercel — 55 endpoints across user, task, payment, submission, withdrawal, statistic, notification, and admin modules.

The economy is server-authoritative. Creating a task deducts its full budget atomically and refunds unfilled slots on deletion; approving a submission credits a worker exactly once; approving a withdrawal uses a conditional update that can never push a balance below zero. Stripe runs on two paths — client confirmation and a signature-verified raw-body webhook — both credited idempotently against Stripe event and payment-intent IDs so money is never double-counted.


Security was treated as core, not afterthought: sanitize-html allowlists for rich task content, javascript-URI stripping, regex-escaped search, and Firebase ID-token verification with dedicated role guards on every protected route. The client delivers the full surface — rich text editor, image upload with Cloudinary→ImgBB fallback, 30-second-polled notifications, Recharts analytics for all three roles, light/dark theme, skeletons, and accessibility support.
Video_CS_003
IMAGE_CS_003
MicroEarn admin dashboard with platform KPIs.
the result
A production-deployed marketplace written over roughly a year — 265 commits across client and server, ~21,000 lines of application code, 55 endpoints, 30 client routes, and 89 components. Both apps are live, and the server's README documents the verification pass: lint with 0 errors, successful production builds, and the security fixes that matter most.

The project proves the full commerce stack on a solo build — atomic money moves, idempotent payments, role-based access, and a product that looks and feels finished.

Words From

collaborators
CLI_TES_104
Zeon and I built Smart NUB Campus together — real-time systems, clean architecture, and late nights we don't regret. Reliable peer, sharp engineer, and the kind of person you want on a hard project.
Md Sajib
Engineering Peer

Let's build something remarkable

CTA_ZN_195
VIDEO_ZN_628
Zeanur Rahaman Zeon
What are you building?
USER_1230
I need help turning an idea into a working product.
U
USER_1230
I have a problem and want to bring it to life.
U
Zeanur Rahaman Zeon
Awesome — let's talk about the problem and the goals.
Zeanur Rahaman Zeon
I'm in — let's find the right tools for what you're building.