Mobile Application · 2022-2023

PawsNeeds— Pet Services Marketplace

A pet-services marketplace on serverless AWS — six categories, Stripe payments, and hosting costs that scale to zero.

Lead mobile & backend developer — freelance
PawsNeeds marketplace home screen
Scroll — full dossier below
01Context

PawsNeeds connects pet owners with verified providers across veterinary care, grooming, training, walking, boarding, and transport. Owners discover nearby providers on a map and book in-app; providers manage their catalogues; an admin verification workflow keeps the marketplace trustworthy.

The client was early-stage with spiky, unpredictable traffic — and a budget that couldn’t fund idle servers. I built the React Native app and the AWS backend, and made the architectural bet that defined the project.

02Constraints
Early-stage economics
Hosting had to cost near-zero between bookings
Spiky traffic
Evening and weekend bursts, silence in between
Real payments
Stripe integration with PCI-compliant flows
Two platforms
iOS and Android from a single codebase
03System design
FIG. 01 — SERVERLESS ARCHITECTURE
paymentsmediaReact Native AppExpo · ReduxAPI Gatewayλ Auth + Searchhot path, kept leanλ Booking + Paymentsper-domain scalingMongoDBS3 + CDNoptimized mediaStripePay-per-request: costs scale to zero between bookings
04Key decisions

Serverless over an always-on server

over: EC2/VPS with a monolith API

Pay-per-request Lambda kept hosting near zero between bookings and absorbed evening spikes with no capacity planning. The cost: cold starts on the paths users feel — addressed by keeping hot-path functions small and never letting booking latency pay for the admin panel’s dependencies.

Per-domain functions

over: One fat Lambda behind a router (“lambdalith”)

A single function is simpler to deploy, but couples scaling and bloats every cold start with every domain’s dependencies. Per-domain functions scale independently — search bursts don’t warm payment code — at the cost of more deployment wiring, which CI absorbed.

Client-side image optimization into S3

over: A server-side processing pipeline

Optimizing before upload cut media bandwidth roughly 40% and removed an entire processing tier. The trade: trusting the client pipeline — mitigated with server-side validation of type and size.

05User flow
FIG. 02 — MARKETPLACE FLOWS
Pet owner
  1. 01

    Sign in

    Social auth or SMS OTP

  2. 02

    Discover

    “In my area” geosearch

  3. 03

    Book

    Calendar + cart

  4. 04

    Pay

    Stripe, multiple methods

  5. 05

    Review

    Ratings close the loop

Provider
  1. 01

    Apply

    Submit credentials

  2. 02

    Get verified

    Admin approval workflow

  3. 03

    Manage catalogue

    Services, pricing, availability

  4. 04

    Fulfil bookings

    Status + notifications

06The hard problem

Making cold starts invisible in a booking flow

Serverless economics came with a UX tax: a Lambda that hasn’t run recently takes extra seconds to respond, and a booking flow that stalls at payment is a booking that doesn’t happen.

I attacked it from three sides. Functions were split per domain so hot paths stayed small — the booking function ships without the admin panel’s dependencies. Bundles were trimmed until cold init was dominated by the runtime, not my code. The app hides the remainder: optimistic UI on booking steps and prefetching the next step’s data while the user is still picking a time slot.

The result is a flow that completes in under two minutes on average, on infrastructure costing an estimated ~60% less than the equivalent always-on setup at the client’s traffic level.

07Impact
60%
est. hosting cost cut vs always-on
6
service categories at launch
<2 min
average booking time
95%
code shared iOS / Android
08Figures
FIG. 03 — MARKETPLACE HOME
FIG. 03 — MARKETPLACE HOMECategory entry points and nearby providers.
FIG. 04 — DISCOVERY
FIG. 04 — DISCOVERYLocation-based provider search.
FIG. 05 — BOOKING
FIG. 05 — BOOKINGMulti-step flow with calendar selection.
FIG. 06 — ORDERS
FIG. 06 — ORDERSCart and status tracking.
FIG. 07 — PET PROFILES
FIG. 07 — PET PROFILESBreed, weight, and medical notes inform bookings.