← Projects

LienDone

Lien waiver management SaaS for U.S. construction, built from scratch with Next.js and TypeScript, including a no-account signing flow for subcontractors.

Company
Personal project
Role
Frontend Lead
Stack
Next.js TypeScript Tailwind CSS ShadCN UI NestJS Prisma Cloudflare R2
Highlights
  • Built the frontend from scratch, dashboard, waiver generation, and a public signing flow, in Next.js App Router and TypeScript.
  • Built a no-account signing page for subcontractors, with draw/type digital signature capture and mobile-first layout.
  • Built statutory waiver forms for all 50 U.S. states with state-specific text and fields.
  • Built the compliance dashboard, showing waiver status per project (signed, pending, overdue) so GCs can see what's blocking a payment release at a glance.
LienDone landing page, lien waiver management for construction

What it does

LienDone is lien waiver management software for U.S. general contractors. A GC creates a project, adds subcontractors, and sends a tokenized signing link. The subcontractor opens the link, no account needed, reviews the pre-filled statutory waiver, fills in the remaining details, signs, and submits. The GC’s dashboard tracks compliance status per project so payment can be released once every required waiver is signed.

I built this from scratch as Frontend Lead.

Frontend

  • Next.js (App Router) + TypeScript for the authenticated dashboard and the public, token-based signing pages.
  • Tailwind CSS + ShadCN UI for a consistent, accessible component system.
  • Built the no-account signing flow: a subcontractor opens a link, sees the correct statutory waiver for their state, fills in name/amount/date, and signs by drawing or typing, on a layout built mobile-first since most subs sign from a phone.
  • Built the GC-facing dashboard: project list, per-sub waiver status (signed, pending, overdue), and the release-payment action gated on waiver state.

Working across the stack

  • Wired the signing flow to a NestJS/Prisma API that generates state-specific statutory PDFs (pdf-lib + Handlebars) and stores signed waivers in Cloudflare R2.
  • Built JWT auth and workspace multi-tenancy so each GC’s data stays scoped to their workspace.