HB. Hire me on Upwork

Home › Case studies

RTUMap: turning an offline field app into a subscription SaaS

Case studyBy Hashir NadeemNovember 2026

  • ClientCH Software LLC
  • TypePWA and multi-tenant SaaS
  • StackReact, IndexedDB, Node.js, PostgreSQL, Stripe
  • Live sitertumap.com
RTUMap: turning an offline field app into a subscription SaaS

The product

RTUMap is a survey tool for commercial HVAC companies. Technicians use it on rooftops to record the units on a building. Rooftops often have no signal, so the app has to keep working offline.

The challenge

The app began as a tool for one HVAC company. The goal was to turn it into a product that any HVAC company can sign up for and pay for on its own. That means three things at once:

  • Keep the offline experience reliable for technicians in the field
  • Separate each customer's data safely
  • Let new customers start a trial and subscribe without anyone's help

What I built

  • Offline-first PWA. The app stores survey data on the device with service workers and IndexedDB, then syncs when the connection returns.
  • Multi-tenant architecture. Each company gets its own isolated workspace on a shared platform.
  • Stripe subscriptions. Self-service sign-up, trials and billing.
  • Operator portal. A back office for the business owner to manage customers and accounts.
  • Marketing website. Landing pages, pricing, comparison tables and FAQs on Cloudflare Pages, with free-trial A/B testing, UTM tracking and Google Analytics 4 events.

Why a PWA

Field teams use a mix of phones and tablets. A Progressive Web App runs on all of them from one codebase, installs from the browser and updates without an app store review. For a small product team, that keeps cost and release time low.

The result

RTUMap is live at rtumap.com as a subscription product, with a marketing site built to turn visitors into trial users.

Building something similar?

See my pages on PWA development and SaaS development.

Have a project in mind?

Message me on Upwork, WhatsApp (+92 313 2613274) or LinkedIn with your requirements, and I will reply with a practical plan.

WhatsAppLinkedInResume
© 2026 HashirBuilds · Hashir Nadeem, Senior .NET Full Stack DeveloperHome · Case studies · Articles · Upwork · LinkedIn