Maintenance agreement tracker for HVAC shops
The idea
An owner-operator HVAC shop with 200 maintenance agreements at 200 USD a year is sitting on 40,000 USD of recurring revenue, tracked in a spreadsheet nobody opens between seasons. Renewals lapse silently because no one sends the reminder, and the spring tune-up rush gets planned on a whiteboard. Each lapsed agreement is 150-300 USD gone, plus the repair work that agreement customers reliably generate.
ServiceTitan solves this, but it costs 300+ USD a month and demands a full operational migration. The wedge is doing exactly one job: import the customer list, never miss a renewal again, and put every active agreement on a seasonal visit board. Shops that will never buy a field service suite will buy this.
Who pays
The buyer is the owner of a 2-10 tech HVAC shop with 50-500 active agreements, sold at a flat 49 USD/month subscription. Distribution: HVAC owner Facebook groups, contractor subreddits, and partnerships with the bookkeepers and marketing agencies that already serve these shops; the pitch is one recovered renewal pays for four months.
MVP scope
- CSV import of customers and agreements with preview and dedupe
- Automated renewal email/SMS sequences at 60/30/7 days with delivery tracking
- Dashboard showing expiring, lapsed, and revenue at risk
- Drag-and-drop spring/fall visit scheduling board
- Skip for v1: online payment collection for renewals, technician mobile app, QuickBooks sync, multi-location support
Build AgreementKeeper, a web app for HVAC shop owners to manage maintenance agreements. Stack: Next.js (App Router), Supabase (Postgres + auth), Twilio for SMS, Stripe for the shop's own subscription. Magic-link auth, no passwords. Core flow: owner imports customers via CSV (name, phone, email, address, agreement start date, annual price). Each customer gets an agreement record with a renewal date computed as start date plus 12 months. Sixty, thirty, and seven days before renewal, the system sends a templated email and SMS asking the customer to renew; the owner sees delivery status per customer. Pages: dashboard (agreements expiring in 30/60/90 days, lapsed count, estimated revenue at risk), customer list with search and status filters, customer detail with message history, a spring/fall scheduling board where each active agreement appears as a card the owner drags into a week slot for its tune-up visit, and settings for message templates and shop branding. Non-obvious details: CSV import must be forgiving - preview rows, flag bad phone numbers, and dedupe on phone. Store all reminder sends in a message_log table so a customer is never texted twice for the same milestone; run the scheduler as a daily Supabase cron job. Pricing: single plan at 49 USD/month via Stripe Checkout, 14-day free trial, no card required up front.
// More B2B ideas
-
Compliance meeting memos for financial advisors
Financial advisors must document every client meeting for compliance; this turns call recordings into FINRA-ready meeting memos filed to the CRM.
Search demandLowCompetitionLowCustomer valueLow -
Dictation for insurance field adjusters
Insurance adjusters type up site visits at night; speak findings during the walkthrough and get carrier-formatted claim narratives and photo captions.
Search demandLowCompetitionLowCustomer valueLow -
PDF exhibit tools for paralegals
Paralegals bounce between PDF tools before every filing; Bates numbering, exhibit stamps, redaction, and bookmarked exhibit binders in one browser tool.
Market read pendingWe are still researching this idea. -
Compliance linter for wellness marketing copy
One risky claim can draw an FDA warning letter; a checker for supplement and wellness brands that flags noncompliant copy and suggests safe rewrites.
Market read pendingWe are still researching this idea.