Case study · A South Florida property-services company
An order-and-report platform for a property-services company
A Next.js and Strapi platform where orders, county property lookups and multi-section reports live in one place, built solo.
- Role
- Sole developer, via 27 Colab
- Period
- Dec 2024 – Nov 2025
- Stack
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- shadcn/ui
- Strapi 5
- QuickBooks Online
- pdf-lib
- Playwright
The problem
A company that runs lien searches and property verifications for law firms, buyers and title work needed one place for clients to order, for staff to process orders and write reports, and for the books to stay in sync. I had built its first WordPress order site in 2016, so I knew the workflow.
What I built
A frontend in Next.js 15 and a Strapi 5 backend, with me as the only committer in both. UX and UI phases and wireframes came from the 27 Colab design side.
- A business modelled in 19 Strapi content types with role-based access for owners, processors and clients, plus per-order messaging and attachments.
- County property lookup that auto-fills folio and legal description from three county GIS services, with address normalisation.
- Per-section report forms (liens, violations, utilities, permits, code enforcement) with 'no issues' toggles and autosave, and PDF output.
- QuickBooks Online integration end to end: OAuth, customer sync, estimate-to-invoice, with health and audit endpoints.
- Playwright tests for authentication, ordering, profile and password-reset flows using test-only endpoints, running in CI.
Outcome
A complete platform, from data model to PDF reports, written by one developer in about eleven months, and the third chapter of a client relationship that began with a 2016 website and a 2020 secure-server move.
Related open source
- quickbooks-online-kit on GitHub, opens in a new tab: QuickBooks Online without the pain.
- fl-parcel-lookup on GitHub, opens in a new tab: Florida folio numbers and legal descriptions from an address.