Back
Case Study - JustWashes

Professional car care, on demand and on your schedule.

A fully custom web and mobile marketplace connecting Atlanta-area car owners with certified, background-checked mobile car wash technicians — built on a credit subscription model, intelligent zip-code-based auto-assignment, and Stripe Connect technician payouts.

JustWashes is a US-based mobile car wash marketplace targeting the Atlanta, Georgia market — delivering professional exterior car washes at customers' homes or workplaces for a flat $39 (Sedan/Mid-Size SUV) or $45 (Large SUV/Truck), with no tipping required or expected.

icodelabs built the complete platform — a Next.js web app, React Native iOS and Android apps, Node.js backend, and MongoDB database — around a credit-based subscription economy where customers subscribe monthly, bi-monthly, or quarterly, use credits to book washes with certified technicians, and the platform handles all routing, scheduling, payout, and communication automatically. The platform launches with exterior washes across the greater Atlanta area, with interior services coming soon.

hero image
img
img
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found
img not found

The Challenge

Mobile car wash services operate on thin scheduling margins — a late cancellation or weather event can cascade across a technician's full day. JustWashes needed a platform that automated the hardest operational problems: routing the right technician to the right zip code, managing credit availability across subscription cycles, handling weather-triggered reschedules, enforcing cancellation and subscription termination policies, and paying technicians accurately after every completed wash.

All of this had to be delivered through a consumer experience simple enough to book in under two minutes on mobile — across both a Next.js web app and React Native iOS and Android apps — with full feature parity between customer and technician surfaces.

img
img

Customer Onboarding flow

img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img

Tech Stack

LAYER
TECHNOLOGY

Frontend (Web)

Next.js

Mobile App

React Native (iOS & Android)

Backend / APIs

Node.js + Express

Database

MongoDB

Authentication

JWT

Payments & Payouts

Stripe + Stripe Connect

Media

Cloudinary

SMS & Email

Twilio + SendGrid

Push Notifications

OneSignal

Error Monitoring

Sentry

Hosting

AWS / DigitalOcean

Confident blues and clean typography of JustWashes

Midnight Moss

#003366

RGB: 0, 51, 102

Bright Sky Blue

#05CAFB

RGB: 5, 202, 251

Magnolia

#F5F6FA

RGB: 245, 246, 250

Midnight Blue

#001326

RGB: 0, 19, 38

Oslo Grey

#8D8D8D

RGB: 141, 141, 141

Krona One
Regular


Aa
abcdefghijklmnofqrstuvwxyz0123456789/*!~$%^&*()_+

Geist

Regular

Technician Dashboard

Technician Dashboard-dashboard

Customer Dashboard

Customer Dashboard-dashboard

What We Built

1

Three-Tier Subscription & Credit System

The core commercial model was built on Stripe with three subscription tiers — Monthly (1 credit per month, 12+ washes per year, priority booking, add-on credits), Bi-Monthly (1 credit every 2 months, 6+ washes per year, most popular for second cars), and Quarterly (1 credit every 3 months, 4+ washes per year). Credits are allocated per billing cycle with rollover logic for unused credits. Stripe handles auto-renewal across all tiers with configurable billing dates, while early termination triggers penalty logic applied at cancellation. Admin tools allow plan management, credit overrides, and manual cancellations for edge cases.

2

Two-Sided Customer & Technician Apps

Two distinct application experiences were built — one for customers and one for technicians — across web (Next.js) and mobile (React Native). The customer app handles profile creation with car type, saved home and work addresses, subscription management, credit balance and top-up history, calendar-based availability view, booking with specific or any-available technician, reschedule flow, and post-service rating and in-app tipping. The technician app covers identity verification onboarding, availability calendar management, zip code coverage configuration, service tier setup by car type, booking accept/reject/reschedule, earnings tracking, and Stripe Connect payout dashboard.

3

Smart Booking Engine & Zip Code Auto-Assignment

The booking engine supports two modes: customers pick a specific certified technician from available profiles, or choose 'Any Available' — triggering automatic assignment to the lowest-active qualified technician in the customer's zip code. The calendar integrates real-time availability across all technicians, preventing double-booking while surfacing accurate slots. Auto-reschedule fallback handles technician unavailability post-confirmation, with SMS and email alerts triggered automatically to both parties at every state change.

4

Weather Policy & Automatic Rescheduling

A weather-triggered rescheduling system was built — when rain or adverse conditions affect a scheduled wash, the platform automatically reschedules the service at no extra cost to the customer, notifying both the customer and technician via Twilio SMS and SendGrid email. This reduces support burden and protects the platform's satisfaction guarantee without requiring manual operator intervention.

5

Service Policy Engine

Five distinct policy types were built into the platform with dedicated policy pages and enforcement logic — Service Area Requirements with zip code validation at booking, Weather Policy with automatic reschedule triggers, Wash Cancellation Policy with time-based cancellation rules and fee logic, Washer Policy covering technician conduct and service standards, and Subscription Cancellation Policy enforcing termination timelines and penalty application.

6

Technician Identity Verification & Onboarding

A structured onboarding flow was built requiring full identity verification before any technician goes live. ID and SSN submission, background check status tracking, and training completion are managed through a checklist-based admin approval workflow — ensuring every JustWashes technician is certified, insured, and professionally equipped before serving their first customer.

7

Stripe Connect — Technician Payout Infrastructure

Stripe Connect handles all technician earnings — the platform collects customer subscription and booking payments, deducts the platform fee, and disburses technician earnings directly to their bank account on a configurable payout schedule. Technicians complete Stripe Connect onboarding during profile setup with full payout history visible in their earnings dashboard. Post-service in-app tipping is processed through Stripe and included in the technician's next payout run.

8

Cloudinary + Full Notification Stack

Cloudinary handles all platform media — hero video delivery on the marketing homepage, technician profile photos, and service imagery — with automatic format optimisation and responsive delivery across web and mobile. Three notification channels were integrated covering the complete service lifecycle: OneSignal push notifications for mobile booking alerts and status updates, Twilio SMS for technician assignment and real-time scheduling changes, and SendGrid transactional email for booking confirmations, subscription billing, and onboarding communications.

Technician Dashboard Flow

img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img

Technical Highlights

  • Next.js web app + React Native iOS/Android with full feature parity across all surfaces
  • Three-tier Stripe subscription system with credit rollover, auto-renewal, and early termination penalty logic
  • Zip code-based auto-assignment routing bookings to lowest-active qualified technician in real time
  • Weather-triggered automatic rescheduling system with dual-party notification
  • Five-policy enforcement engine covering cancellations, weather, service area, washers, and subscriptions
  • Technician identity verification flow — ID, SSN, background check, and admin approval before live
  • Stripe Connect technician payout infrastructure with in-app tipping routed through the same payment layer
  • Cloudinary video and image delivery across marketing and application surfaces
  • Full three-channel notification stack — OneSignal push + Twilio SMS + SendGrid email

Customer Dashboard Flow

img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img
img

Ready to Build Your On-Demand Service Marketplace?

JustWashes launched an Atlanta mobile car-wash marketplace with a three-tier subscription and credit system, two-sided customer and technician apps, and a zip-code-driven booking engine. On-demand service marketplaces start at $3,000. Fixed price. 90-day bug-free guarantee.

  • 50+Marketplaces Delivered
  • 90 DaysBug-Free Guarantee
  • $3,000Starting Price
Book a Free Scoping Call