Skip to content
Back to software engineering projects

Commerce case study

Be My Courier

A courier marketplace connecting package senders with travelers across intake, matching, customs, identity, flights, handoffs, payments, loyalty, and administration.

Architecture map

Trust, verification, payment, and delivery lifecycle

Client experienceService boundaryData workflow

Business problem

Marketplace trust depended on coordinating package safety, traveler evidence, order state, payment authority, staff access, and operational review.

Architecture

Provider-authoritative state machines sit behind Express APIs, MongoDB leases and migrations, secured evidence storage, idempotent Stripe transitions, and Vue/Quasar administration surfaces.

My contribution

  • Designed AI-assisted multi-product intake with Gemini, structured validation, safety scanning, private media, and SimplyDuty classification.
  • Built compliance queues, secure evidence access, operational cases, audit history, handling targets, disputes, and support operations.
  • Developed AeroDataBox flight and boarding-pass verification with extraction, caching, coalescing, accounting, and quota protection.
  • Built and extended Stripe Identity, Connect, payments, refunds, commission, webhooks, and delivery-confirmed payouts with idempotent transitions.
  • Built verified meetup/video-handoff evidence plus staff SSO, invitations, TOTP MFA, recovery, rotating sessions, revocation, and RBAC.
  • Built leased background jobs, guarded migrations, concurrency-safe controls, loyalty policy, provider usage visibility, and contract/security tests.

Difficult technical decisions

  • Use provider-authoritative state machines and idempotent transitions for identity, payment, refund, commission, and payout operations.
  • Separate private evidence from public marketplace data and require auditable staff access for compliance and handoff review.
  • Coalesce and cache flight-verification work to protect provider quotas while keeping retry and accounting behavior visible.
  • Use leased jobs and guarded migrations so concurrent workers and rolling releases could not silently duplicate high-risk operations.

Scale and constraints

  • More than 10 external or cloud dependencies across messaging, AI, customs, flight data, identity, payments, location, email, storage, and encryption.
  • An end-to-end marketplace lifecycle covering intake, compliance, matching, verification, payment, handoff evidence, payout, dispute, and loyalty operations.
  • High-risk constraints included personal evidence, payment authority, provider quotas, webhook retries, staff privileges, and concurrent background work.

Security, performance and reliability

  • Implemented seven staff-account controls: SSO, invitations, TOTP MFA, recovery, rotating sessions, revocation, and role-based access control.
  • Secured private evidence with controlled access and AWS S3/KMS-backed storage boundaries.
  • Applied idempotency, caching, request coalescing, quota accounting, leases, and contract/security tests to protect critical workflows under retries and concurrency.

Measurable result

  • Connected 10+ provider and cloud dependencies into auditable intake-to-payout workflows with explicit operational recovery paths.
  • Delivered seven staff security controls and durable transition safeguards around identity, evidence, payments, and payouts.

What I learned

  • High-trust marketplaces need operator visibility and evidence integrity as first-class architecture, not administrative features added after launch.
  • Provider quotas, webhooks, and concurrent workers are product constraints; designing for them early prevents support incidents from becoming data-integrity incidents.

Implementation stack

Technologies grouped by responsibility.

Frontend

Vue 3QuasarVitePiniaAxiosChart.js

Backend/CMS

Node.jsExpress.jsSocket.IO

Data

MongoDBMongooseLeased background jobs

Integrations

Firebase/FCMGeminiSimplyDutyAeroDataBox/RapidAPIStripe IdentityStripe Connect/PaymentsGoogle PlacesBrevo

Infrastructure/Delivery

AWS S3AWS KMS

Testing

JestSupertestVitest

Related work