React + Supabase Developer — HVAC SaaS PWA (Full Build, Phase 1–2)

Posted 2 weeks ago

Worldwide

Summary

We are building HVACTrack — a B2B SaaS Progressive Web App for HVAC asset management, targeting facility managers and building owners in Kuwait. The app allows users to track HVAC equipment, schedule preventive maintenance, manage work orders, compare vendor quotes, monitor equipment health scores, and view ROI dashboards.** **A complete working React prototype already exists. Your job is to wire it to a Supabase backend, add authentication, build all features to production standard, integrate Stripe subscriptions, and deploy to a live domain.** --- **WHAT IS ALREADY DONE — YOU DO NOT START FROM SCRATCH** A fully designed React prototype covering all six core screens is ready and will be shared with shortlisted candidates. You are not designing anything. You are building the backend, wiring auth, and making it production-ready. --- **WHAT YOU WILL BUILD** Phase 1 — Launch (Weeks 1–3): - Supabase Auth: email/password signup, login, password reset, session persistence - Six database tables: users, properties, units, service_history, quotes, ppm_schedules, work_orders — all with Row Level Security enabled - Asset Register: add, edit, delete, view HVAC units with full specs - PPM Scheduler: create maintenance tasks per unit, set frequency, auto-calculate next due dates, mark complete, overdue alerts - Work Order module: raise, assign, track status (open/in progress/completed), log costs - Equipment Health Score: auto-calculated formula based on age, service history, PPM status — with manual override - Quote Management: multiple vendor quotes per unit, auto-highlight lowest, mark approved - CSV import and export with preview and error flagging - Dashboard: portfolio health score, unit status counts, overdue PPM alerts, open work orders Phase 2 — Within 60 days of launch: - Multi-property support - One-click PDF report per property with PPM compliance, work order summary, cost analysis - ROI Dashboard: emergency vs planned cost comparison, PPM compliance rate, savings estimate - Email alerts for overdue PPM tasks and units below health score 50 - Condition score auto-calculation with trend history --- **TECH STACK — NON-NEGOTIABLE** - Frontend: React (prototype provided) - Backend and database: Supabase (PostgreSQL + Auth) - Hosting: Vercel - PWA: Vite PWA plugin — must be installable on Android home screen - Payments: Stripe Subscriptions with webhooks - Analytics: PostHog (free tier) — specific events listed in brief - Error monitoring: Sentry (free tier) - Uptime monitoring: UptimeRobot - PDF export: jsPDF or react-pdf - Email: Resend or SendGrid free tier - CSV: PapaParse (already in prototype) Do NOT propose Firebase, MongoDB, WordPress, or any paid services not listed above. --- **PRICING AND PAYMENT INTEGRATION** The app must include a public pricing page with four plans: - Starter: KD 25/month — up to 150 units - Professional: KD 55/month — up to 350 units - Enterprise: KD 120/month — up to 700 units - Custom: negotiated — 700+ units Stripe Subscriptions must handle recurring billing. Webhooks must trigger account activation on payment success and account suspension after 3 failed payments. Owner receives notification for every new subscriber. --- **SECURITY REQUIREMENTS — THESE ARE NOT OPTIONAL** - Supabase Row Level Security enabled on ALL tables — no user can ever see another user's data - All API calls over HTTPS only - Input validation on all form fields — frontend and backend - No sensitive data in localStorage — Supabase session tokens only - Passwords handled entirely by Supabase Auth — never stored in plain text --- **MOBILE-FIRST — CRITICAL** 80% of users will be on Android phones. Every screen must work perfectly on a 360px wide screen. Minimum tap target 44px. No horizontal scrolling. Bottom navigation bar on mobile. All modals full-screen on mobile. Must be tested on actual Android Chrome — not just desktop browser resize. --- **FIVE OPERATIONAL REQUIREMENTS — ALL MUST BE COMPLETE BEFORE FINAL PAYMENT** 1. Pricing page live with Stripe subscription checkout working end-to-end 2. Sentry installed and sending crash alerts to owner email 3. UptimeRobot monitoring the live URL — owner receives SMS and email if app goes down 4. PostHog tracking all specified events — list provided in full brief 5. Owner admin page showing total subscribers, MRR, new and churned subscribers this month --- **PAYMENT MILESTONES — THIS IS HOW WE WORK** - M1 (25%): Auth working + all database tables created with RLS + GitHub repo shared - M2 (35%): All Phase 1 features working on desktop — tested by owner - M3 (25%): Mobile-responsive + PWA installable + CSV import/export + PostHog and Sentry confirmed live - M4 (15%): ROI Dashboard + PDF report + bug fixes after owner testing + deployed to live domain No milestone is paid before the previous one is personally verified by the owner on his own device. --- **TIMELINE EXPECTATION** - Phase 1 complete: 3–4 weeks from start - Phase 2 complete: 6–8 weeks from start - Total with buffer: 10 weeks maximum If you need more than 10 weeks for this scope with an existing prototype, this project is not the right fit. --- **BEFORE YOU APPLY — PLEASE CONFIRM THE FOLLOWING IN YOUR PROPOSAL** 1. I have built a SaaS application with Supabase before — here is the link: ___ 2. I have integrated Stripe Subscriptions recurring billing before — here is the link or description: ___ 3. I have built a PWA that is installable on Android — here is an example: ___ 4. I have read the scope above and confirm I can deliver Phase 1 within 3–4 weeks 5. My fixed price quote for the full scope is: USD ___ **Proposals that do not answer all five points above will not be reviewed.** --- **RED FLAGS — I WILL NOT PROCEED IF:** - You ask for more than 40% payment upfront - You cannot show a previous SaaS project with login and database - You say the existing prototype cannot be used and want to start from scratch - You cannot explain what Supabase Row Level Security is - You go silent for more than 2 days without an update - You say PPM Scheduler, Work Orders, or ROI Dashboard can be added later as a separate project — they cannot --- **A FULL DETAILED BRIEF (10 pages) will be shared with shortlisted candidates before any commitment is made.**

  • $600.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • Complex project
    Project Type
Skills and Expertise
Mandatory skills
PostgreSQL
React.js
Supabase
Activity on this job
  • Proposals:5 to 10
  • Last viewed by client:2 days ago
  • Hires:
    1
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jun 17, 2026
  • KWT
    Abu Halifa8:06 PM
  • 1 hire, 1 active

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 7 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Three.js
JavaScript
WordPress
AR Plugin
WooCommerce
3D Modeling

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo