I build websites and web applications for trades and contractor businesses — seawall builders, deck contractors, electricians — mostly in and around Durham, North Carolina.
The problem I keep coming back to is quoting. In most of these trades a customer fills in a form, waits three days for a callback, and has phoned two competitors in the meantime. So I build instant estimators instead: the customer enters their own measurements and materials, sees a real price immediately, and the business gets a scored lead with the full specification already attached.
Sanity is what makes that practical. Pricing rules, the service catalogue, and the business’s own details — hours, service areas, license numbers — live as structured content the owner can edit, rather than as constants buried in a repo they will never touch. Because the estimator and the marketing site read the same schema, a price change is one edit in one place.
The rest is Next.js on Vercel, TypeScript and Tailwind. I care about accessibility, and about not shipping anything I haven’t opened in a browser and actually looked at.
I published Trades Starter Lite so the next person building for this market doesn’t have to start from an empty folder.