Skip to content

Construction document platform

Documents, forms and trackers for construction teams · Built from scratch, solo

Updated

Before

Documents, forms and site reports lived in Google Sheets and Docs. Site updates reached the office late.

After

Documents, forms, trackers and reports run on one platform with roles. Clients follow progress in their portal.

How it works
  1. 1Person:Owner

    Sets up a project with sections, trackers and a team.

  2. 2Person:Project manager

    Builds a form or picks a template, then sends it to the site.

  3. 3Person:Field crew

    Fills it on site with photos and a signature. Typed answers survive a lost signal.

  4. 4Person:Project manager

    Approves it or sends it back.

    Software:Platform

    Turns the approved form into a PDF and updates the tracker.

  5. 5Software:Platform

    Keeps documents in versioned folders and exports reports to PDF and Excel.

    Person:Client

    Follows folders and trackers in their own portal.

Always on

  • Each company sees only its own data.
  • Each role sees only what it should. The database enforces it.
  • File links expire, so a forwarded link stops working.
  • Every change goes to the audit log.

Problem

Construction teams ran documents, forms and trackers by hand in Google Sheets and Docs. Site updates came in late and lived in scattered files.

Diagnosis

Spreadsheets can go only if each role sees what it should and each company's data stays its own. So access rules live in the database.

What I hardened

Payment events retried by the provider
Atomic, idempotent handling: a retry never charges or grants twice.
File links that stay open
Time-limited signed links.
Company context resolved loosely
Tenant resolution fails closed: a doubt means no data.

Solution

One platform with roles enforced by database rules, photo and form reports from the site, form-to-PDF submissions, invite links, two-factor sign-in, a client sharing portal, an audit log and billing.

App
  • Next.js
  • React
  • Tailwind CSS
  • Radix UI
  • Zod
Data and security
  • Supabase
  • PostgreSQL row-level security
  • TOTP two-factor
  • Signed file links
Documents
  • React-PDF
  • Resumable uploads (tus)
  • ExcelJS
  • E-signatures
Billing and email
  • Stripe
  • Resend
Delivery
  • Vercel
  • GitHub Actions
  • Vitest
  • Playwright