AI & AUTOMATION · FEATURED PROJECT

AI-Powered Service Booking SaaS Platform

Designed, built, and deployed a multi-tenant SaaS platform from zero, enabling service businesses to automate bookings via AI SMS conversations, manage clients, and collect payments — all without a single manual intervention.

RoleFounder / Full-Stack Builder
StatusLive in Production
StackPython · FastAPI · PostgreSQL · Twilio
TypeSaaS · AI Automation

📌 The Problem

Small service businesses — HVAC, plumbing, landscaping — lose revenue every week because after-hours booking calls go unanswered. Hiring a receptionist is expensive. Existing software is bloated, complex, and built for enterprise.

I saw an opportunity: deploy an AI agent that handles the entire booking conversation via SMS, so business owners never miss a lead, even at 2am.

🏗️ What I Built

  • An AI SMS agent that conducts natural booking conversations, collects job details, and confirms appointments without human involvement
  • Multi-tenant architecture supporting multiple clients with isolated data, per-client branding (colors, logo, service menus), and custom domains
  • Stripe integration for subscription billing and in-booking payment collection
  • FastAPI backend deployed to Railway with a PostgreSQL database for persistent client, booking, and conversation data
  • A client-facing marketing site with a tiered pricing page and live booking widget

📊 Outcomes

100%
Automated booking flow — zero human touchpoints
Live
Deployed to production with paying clients
Multi
Tenant architecture supporting N clients from day 1

🔧 Sample Architecture

# Simplified booking agent flow async def handle_sms(incoming: SMSPayload): session = get_or_create_session(incoming.from_number) if session.state == "awaiting_service": service = extract_service_intent(incoming.body) # AI NLP session.service = service return ask_for_datetime(session.client_config) elif session.state == "awaiting_datetime": dt = parse_natural_datetime(incoming.body) booking = create_booking(session, dt) notify_business_owner(booking) return confirm_booking_sms(booking)

🛠️ Technologies Used

PythonFastAPIPostgreSQL Twilio SMSStripe APIRailway AI Prompt EngineeringMulti-tenant SaaS RESTful API DesignHTML/CSS/JS

💡 Key Learnings

  • Building for non-technical clients means obsessing over the onboarding experience — the AI only works if the business data is set up correctly
  • SMS compliance (A2P 10DLC / TCPA) is a critical business constraint that requires deep understanding of carrier regulations
  • Multi-tenancy requires architectural decisions made at day 1 — retrofitting it later is painful
  • The best product insight came from talking directly with service business owners, not building in isolation