besHandyman Services Marketplace

Lead Full-Stack Developer & Cloud ArchitectBuild In ProgressPrivate Repository

💡 Project Overview

besHandyman is an on-demand home services marketplace — a TaskRabbit-style platform connecting customers who need work done with vetted handyman professionals who can do it. I am the sole technical architect and lead developer, owning the product end to end: the two-sided data model, the payment and payout rails, the geolocation matching, the notification layer, and the AWS infrastructure it all runs on.

ReactNext.jsNode.jsMongoDB AtlasStripe ConnectTwilioMapboxJWTAWS ECSAWS SESDocker

🔑 Architecture & Key Contributions

🔀 Two-Sided Marketplace Architecture

Designed the platform around two distinct user types with separate flows, permissions, and lifecycles — customers requesting work and service providers fulfilling it — with the matching, booking, and payment layer sitting between them.

💳 Stripe Connect Payments & Payouts

Integrated Stripe Connect using direct charges — each job is charged on the provider's own connected account, with a ~20% service fee added on top of the job price and shown to the customer as a visible line item. That fee is collected as the application fee, so the provider is paid the full quoted price, stays merchant of record, and the platform never holds funds.

📍 Mapbox Geolocation & Service Areas

Used the Mapbox API for address lookup and location-aware matching, so job requests surface to the providers who actually cover that area rather than to everyone.

📲 Twilio SMS Notifications

Wired Twilio into the booking lifecycle for SMS notifications — the channel that actually reaches a tradesperson mid-job, where email does not.

🔐 JWT Auth & Role-Based Access

Built stateless authentication with JWT, with role-based authorization separating customer, provider, and administrator capabilities across every protected route.

🛠️ Admin Console

Built an administrative interface for managing users, providers, and bookings — the operational surface a marketplace needs to handle disputes, verification, and oversight.

🍃 MongoDB Atlas — a Deliberate Choice

Chose MongoDB Atlas over DynamoDB on purpose. A marketplace fits a document model well, and Atlas keeps the data layer portable across providers rather than coupling it to a single cloud's proprietary API — a tradeoff worth making when the application tier already runs on AWS.

☁️ Cloud Infrastructure on AWS

Architected the deployment on AWS ECS with containerized services, plus SES for transactional email. Same infrastructure discipline as the rest of my cloud work: scoped IAM, secrets kept out of source control, and HTTPS end to end.

🔒 Note on Code Availability

besHandyman is an active commercial build, so the source is maintained in a private repository to protect the intellectual property and business logic.

"I am happy to walk through the marketplace data model, the Stripe Connect payout flow, and the AWS deployment architecture in detail during technical interviews."

Discuss the Architecture →