Cleanflow
Multi-tenant SaaS booking platform Next.js, TypeScript, Stripe, Node.js

/ Overview
Multi-tenant SaaS architecture with subdomain booking portals so service companies manage customers, services, and dispatch operations independently. Features an interactive booking system with add-ons, promo codes, zip-code validation, Stripe payments, field technician scheduling, and automated invoicing.
See live/ Project Details
Name:Cleanflow — CRM & Booking Platform
Role:Full-Stack Developer
Stack:Next.js, TypeScript, Stripe, Node.js, MongoDB
Highlights:Subdomain portals, GPS timestamps, PDF invoices, Gemini AI



/ Challenge
Companies needed isolated multi-tenant booking portals and an operations CRM without cross-tenant data leakage. The platform required FullCalendar dispatching, technician GPS time tracking, Stripe checkout, automated PDF invoices, email marketing campaigns, and AI support in a unified system.
/ Provided Services
Booking & multi-tenant
End-to-end booking with service tiers, add-ons, zip-code radius validation, promo codes engine, and Stripe card pre-authorization.
CRM & field dispatch
Deals pipeline, tasks, FullCalendar crew dispatch, job media uploads (before/after proof), and automated GPS arrival/duration timestamps.
Billing & automation
Automated PDF invoice generation, recurring company subscriptions, email marketing campaigns, and a Gemini AI-powered support chatbot.



/ Solution
Architected as a multi-tenant Next.js application with subdomain routing, server-side data isolation, and responsive Tailwind UI. Node.js and MongoDB handle bookings, CRM state machines, PDF rendering, cron jobs, and Gemini API conversations with strict role-based access control.
/ Tech stack
Next.js & TypeScript
Type-safe frontend for tenant portals, booking flows, and CRM dashboards with fluid interactive components.
Node.js & Stripe
Backend REST APIs handling booking lifecycles, webhooks, PDF invoice creation, and payment pre-authorization.
Gemini AI & MongoDB
AI customer support assistant integrated via Google Gemini API alongside MongoDB for scalable multi-tenant document storage.

Engineering overview
How the system fits together
A multi-tenant booking and operations application connecting customer bookings with dispatch, payments and billing.
- 01Customer booking portal
- 02Node.js booking API
- 03Tenant-scoped MongoDB data
- 04Stripe payments & webhooks
- 05CRM, dispatch & invoices
Tenant boundaries
Subdomain portals separate customer entry points. Server-side tenant scoping and role-based access are central to keeping each company’s operational data separate.
Booking lifecycle
Booking, technician assignment and job status form a connected workflow. FullCalendar provides scheduling views while the backend manages the booking state.
Payment integration
Stripe checkout and pre-authorization connect booking with billing. The backend API and payment webhooks connect payment events to application workflows.

