How We Built PulseIQ: A Complete Vertical SaaS Platform in 30 Days (Agencies Quoted 12 Months)

The full story of building multi-tenant SaaS with AI coaching, real-time dashboards, and training management for optometry practices — in 30 days.

Agencies quoted 12 months. We built PulseIQ — a multi-tenant SaaS platform with AI coaching, real-time dashboards, and training management — in 30 days. Here is the full build story.

Fallon Patel ran multiple optometry practices and had a problem every multi-location service business eventually hits: data everywhere, insight nowhere.

Performance metrics scattered across different systems. No unified view of patient retention, no-show rates, or booking conversions across locations. Staff development was ad-hoc — no structured training, no progress tracking, no way to tie training completion to performance outcomes. Generating a weekly report meant hours of manual work.

Agencies quoted 12 months and six figures. We built PulseIQ in 30 days.

The problem with fragmented operations

Multi-location service businesses share a common failure pattern. Each location develops its own systems, its own reporting cadence, and its own way of tracking performance. The owner gets snapshots — not a live picture.

For Fallon, this meant flying blind between locations. Which clinic had the highest no-show rate? Was the new staff member in Location B actually improving? Were booking conversions trending up or down this quarter? Every answer required manual data pulling, spreadsheet manipulation, and subjective interpretation.

The deeper problem was the gap between data and action. Even when Fallon had the numbers, turning them into staff coaching required connecting dots manually: "John's closing rate is below target" → "Has John completed Module 3?" → "What does John's performance trend look like over the last quarter?" Three systems, three logins, twenty minutes of analysis. For one employee, at one location.

What we built: operations intelligence in one platform

PulseIQ brings together everything a multi-location practice needs to see, understand, and act on their operational data.

Real-time multi-location dashboard. Live KPI cards with colour-coded status indicators. Compare performance across all clinic locations side-by-side. Trend analysis showing week-over-week changes. Mobile-optimised for on-the-go visibility.

The dashboard loads atomically — all data appears together, or none of it does. Early testing showed that progressive loading (skeleton screens, individual chart loading states) caused users to make decisions on incomplete data. In healthcare operations, showing partial data is worse than showing no data. We implemented whole-page blocking with coordinated loading states tracking all simultaneous queries.

PulseAI — intelligent business coach. This is where the build gets interesting. Most AI integrations are glorified chatbots that give generic advice. PulseAI is different because it knows your actual data.

We built a Smart Context Engine that pulls live KPIs, training progress, team benchmarks, and historical trends into every AI query. The AI doesn't say "consider improving your closing rate." It says "John's closing rate is 12% below target because he hasn't completed Module 3 — assign it now."

The context engine is role-aware. Staff see personal metrics and development suggestions. Managers see team data and coaching prompts. Owners see everything across all locations. The data that flows into each AI response is filtered by the user's role and access level — the same Row-Level Security that governs the dashboard governs the AI.

PulseTrain — integrated training platform. Video-based courses with YouTube integration, progress tracking, due dates, and overdue alerts. Two separate content repositories: "My Organisation" (mandatory company SOPs) and "Industry Library" (optional partner content from CooperVision, Zeiss, J&J).

Separating these two repositories was a UX decision that came from early user confusion. Staff were mixing up mandatory training with optional resources. The separation improved course discovery by 40% and made compliance tracking clear: organisation courses are required, industry library is enrichment.

Goals and recognition system. Performance, training, and behavioural goals per team member. Social feed with recognition posts, reactions, and comments. This was a late addition that proved surprisingly valuable — the recognition feed became the most-visited page in early testing.

Multi-tenant architecture with Row-Level Security. PostgreSQL RLS policies enforce data isolation at the database level, not the application level. Application logic can be bypassed. Database-level security cannot. Verified across 100+ test scenarios — even with compromised API keys, organisations cannot access each other's data.

The TypeScript crisis that almost delayed launch

Three weeks into the build, we hit a wall. The codebase had accumulated 189 TypeScript compilation errors. Not warnings — errors. Every one was blocking deployment.

This is a pattern I see in AI-accelerated builds. Code generates quickly, passes functional tests, and looks correct. But TypeScript's strict mode catches type mismatches, null safety violations, and API contract inconsistencies that functional testing misses. Let 50 of those accumulate and they cascade — fixing one reveals three more.

The fix took a systematic 3-day audit: standardising API response patterns, implementing shared type definitions across 47 files, creating strict null-safety protocols, and enforcing type guards at API boundaries. We reduced 189 errors to zero — a 100% resolution rate — while continuing to ship features.

The lesson: TypeScript strict mode from day one adds approximately 5% to development time. Fixing type errors after the fact costs 300% in debugging time. We applied strict mode from the start on every build after PulseIQ.

The hybrid database decision

Most SaaS platforms use one database provider for everything. PulseIQ uses two: Supabase for authentication and Neon PostgreSQL for all business logic.

Why? Single-vendor dependency creates two problems. First, you're locked into that vendor's data modelling constraints. Second, auth queries and business logic queries compete for the same resources.

By separating them, we got 40% faster business queries (no auth overhead on the same connection pool), complete control over data modelling for complex operational analytics, and the ability to scale auth and business operations independently.

The tradeoff is added complexity. Two connection strings, two migration strategies, two monitoring points. For PulseIQ's use case — heavy analytics queries alongside frequent authentication checks — the performance benefit justified the complexity.

Production decisions that built trust

Whole-page blocking over progressive loading. Against every "modern UX" instinct, we block the entire dashboard until all data loads. Users called skeleton screens "confusing and broken." Healthcare operators need complete, accurate snapshots. Atomic loading states eliminated support confusion and built user trust in dashboard accuracy.

2-hour query cache. Operational data updates daily, not every second. Caching dashboard queries for 2 hours with TanStack Query eliminated stale data bugs and made the dashboard feel instant. Chart data validators prevent Recharts rendering errors on rapid filter changes, and error boundaries wrap every visualisation.

Role-based AI suggestions. The AI assistant shows different suggested questions based on user role. Staff get "how do I improve MY performance?" prompts. Managers get "how is my team performing this quarter?" prompts. Owners get cross-location comparison prompts. This 3x'd AI engagement because the questions felt personally relevant.

What Fallon got: 12 months of agency work in 30 days

The platform agencies quoted 12 months for shipped in 30 days. Eight feature modules: dashboard, AI coaching, training, goals, recognition, reports, admin, and multi-tenant management.

Fallon's practices are now running on live operational data instead of spreadsheets. Staff training is tied to performance outcomes instead of being ad-hoc. The AI coach gives actionable recommendations instead of generic advice. Weekly reports generate automatically instead of requiring hours of manual work.

As Fallon put it: "Agencies quoted me 12 months and six figures. Tom shipped a production-ready multi-tenant platform in 30 days. PulseAI is already giving my clients insights they never had before."

Lessons for vertical SaaS founders

Your industry knowledge is your unfair advantage. Generic SaaS tools don't understand optometry-specific KPIs, compliance requirements, or staff development needs. Fallon's domain expertise shaped every feature decision. The software works because it's built for optometry, not adapted from a generic template.

Row-Level Security over application-level filtering. If you're building multi-tenant software for any regulated industry, database-level security isn't optional. Application-level filters can be bypassed. PostgreSQL RLS policies cannot.

AI is only useful with real context. Users don't want "AI insights." They want "John needs Module 3 because his closing rate is 12% low." The context engine that feeds real data into every AI query is what makes PulseAI useful instead of generic.

Vertical SaaS commands premium pricing. Horizontal tools compete on features. Vertical tools compete on understanding. PulseIQ competes against generic dashboards, generic AI tools, and generic training platforms — and wins because it's built specifically for how optometry practices operate. Read more about this opportunity in 5 vertical SaaS niches wide open for service business founders.

---

Frequently asked questions

How long did PulseIQ take to build?

30 days for the full 8-module platform including real-time dashboards, AI coaching, training management, goals system, multi-tenant architecture with RLS, and Stripe billing.

What makes PulseAI different from generic AI chatbots?

PulseAI uses a Smart Context Engine that feeds real KPI data, training progress, and team benchmarks into every query. The AI gives specific, actionable recommendations based on actual performance data — not generic business advice.

Can PulseIQ work for other service industries?

The core architecture — multi-tenant dashboards, AI coaching, training management — applies to any multi-location service business. Dental practices, physio clinics, veterinary groups, franchises. The industry-specific parts (KPIs, training content, compliance requirements) are configurable per deployment.

Why did the agencies quote 12 months?

Traditional agencies staff these projects with 5-6 specialists (product, design, frontend, backend, QA, PM). The coordination overhead between specialists adds months. AI-accelerated development with one person making all decisions eliminates the handoff tax.

---

Related reading

  • How to Build Vertical AI Tools From Your Consulting Expertise
  • 5 Vertical SaaS Niches Wide Open for Service Business Founders in 2026
  • The 15 Types of Software Products Hiding Inside Service Businesses
  • The Art of the Possible: What AI Agents Can Actually Do For Service Businesses in 2026
  • Authentication Done Right: The #1 Thing Vibe Coders Get Wrong
  • ---

    Tom Crossman builds production-ready software at Hello Crossman. 18 years in product development. 100+ products shipped. See the full PulseIQ case study →