Loading...
Loading...
Residents book vetted vendors; escrow holds the money until the job is done.
I took this multi-tenant property-management marketplace from zero to production: Next.js 16 over four independently deployed Go services on Railway, with escrow payments, geospatial job matching, 1099 contractor payroll, and per-property branding. The same React code ships as the website, an installable PWA, and Capacitor phone apps.
Property managers run on favors and phone calls: a resident needs a plumber, the manager texts the one guy they trust, and money changes hands with no paper trail. LifeRise set out to replace that with a real marketplace where residents book vetted vendors, the money sits in escrow until the work is done, and the vendor keeps 92% plus every cent of tips. Multi-tenant meant every property gets its own branding, payroll meant 1099 contractors on a weekly close, and all of it had to work with real money on day one.
I built a Next.js 16 front end backed by four Go services deployed independently on Railway: customer API, vendor API, admin API, and a worker for the scheduled close. One React codebase ships as the website, an installable PWA, and Capacitor phone apps. Jobs match to vendors geospatially, payments ride an escrow loop that only releases when the job is confirmed done, and the worker runs the weekly payroll close. Per-property theming is data-driven, so onboarding a new building is configuration, not code.
The platform went to production with a written go-live runbook, the honest kind that documents the real launch fires: Redis pointed at the wrong domain, and the Stripe dashboard wizard creating webhooks on an API version the Go SDK rejected. Both got fixed at launch and live in the runbook now. The escrow loop is verified end to end in production: a $75 booking paid out $69 to the vendor, exactly as modeled. 967 commits, 135 page routes, 80+ REST endpoints.
Have a project like this in mind?
START YOUR PROJECT