Take a Next.js + Supabase job management app live, then add features in 7 milestones
next.js, typescript, react-js, postgresql, api-integration, progressive-web-apps
Preferred qualifications
- Experience: Intermediate
I'm building a job management app for a South African waterproofing contractor. The first version is built and tested on a full demo job. I need a developer to take it live and then add features in stages.
THE APP TODAY
- Next.js 16, React 19, TypeScript, hosted on Vercel.
- Supabase Postgres holds the business rules: Row Level Security on every table, one database function per money change, an append-only ledger and an audit log.
- 58 migrations and 500+ pgTAP checks. 140+ unit tests (Vitest) and 60+ end-to-end tests (Playwright).
- Covers plan uploads and on-screen measuring, pricing, quotes, South African tax invoices, credit notes, payments, statements, variation orders, phases and scheduling, daily site logs from a phone (saved offline), stock issued to sites, WhatsApp and email notifications, inspections and sign-off.
- Five roles: admin, site manager, project manager, site foreman and house owner.
MILESTONES (quote each one separately)
1. Go live
- Full test pass on phone and desktop for all five roles. Fix what breaks.
- Run one past real job through the app and fix any total that doesn't match.
- Load the company's own details, products and costs. Settle four small open design points.
- Production setup: Supabase with point-in-time backups, Vercel, domain, Resend email, WhatsApp Cloud API verification and templates.
- Support the first live job. Restore a backup as a drill.
2. Warehouse stock control
- Stock on hand per product, deliveries in, returns from site, stock takes and low-stock alerts.
- Per job: quoted vs issued vs used vs returned, with real material cost.
- Stock movements are append-only, like the ledger.
3. QuickBooks Online sync
- OAuth connection. Push customers, invoices, credit notes and payments with South African VAT codes, one way from the app to QuickBooks.
- A screen showing what synced and what failed, with a retry.
4. AI-assisted measuring
- A vision model reads each plan sheet's type and scale.
- It suggests areas per surface as draft shapes. The user confirms each one, and only confirmed areas reach a quote.
5. Vehicle trips
- Import trips and kilometres from the vehicle tracker's emailed trip report (CSV) into the daily log. Use the tracker's API if access is granted.
6. Multi-company
- The data model already has a parent company. Switch it on: several companies under one group, each with its own document numbering, bank details, staff and prices.
- A group dashboard, and tests that prove no company sees another company's data.
- Rework pricing to suit any trade, then set up tiling and painting.
7. More trades
- Set up paving, vinyl flooring, and skirtings and decks on the same group model.
HOW WE WORK
- Every database change is a new migration with a pgTAP test. Committed migrations are never edited.
- Work happens on a dev Supabase project. Production only ever gets db push.
- Each milestone is reviewed before it is paid.
- Repository access is given after shortlisting.
IN YOUR PROPOSAL
1. Your fixed price and estimated hours for each of the 7 milestones.
2. The milestone you think is most likely to run over, and why.
2. An example of a webapp you have developed in this framework.
3. An example of Supabase work you've done with Row Level Security or Postgres functions.
4. Whether you've used the QuickBooks Online API before.
The budget is $5,000 to $10,000 for all seven milestones. If your honest number is outside that, quote it anyway and tell us why. A real estimate matters more to us than a number that fits.
Start your proposal with the word "HOWZIT" so we know you read this.
Open job
AI proposal draft
Generate a short cover letter to copy into the offer. Says you are interested and ready to work.
Sign in to generate an AI proposal draft.
Log in