besHandyman Services Marketplace
💡 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.
🔑 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."