VINZPA Roofing — marketing site with a priced quote builder
Business website for a Cagayan de Oro roofing contractor: services, gallery, a priced multi-line quotation builder, and an admin window tracking every enquiry.
Sole engineer · 2026

Problem
A roofing contractor and materials trader in Cagayan de Oro was quoting by phone and paper. Enquiries arrived by text and Facebook, prices lived in someone's head, and nothing tracked whether a lead was contacted, quoted, or won.
What I built
A fast marketing site built to convert: services for commercial and residential roofing, repairs, and trading supplies; a gallery; click-to-call and Facebook Messenger buttons; and a Turnstile-protected contact form that emails the owner.
The centerpiece is a priced quotation builder: a visitor adds one line per roofing run or accessory, prices update as the order is built (VAT-inclusive, flagged as indicative until site measurement), and submitting produces an itemised quotation instantly — no waiting for a callback to know a ballpark.
Behind it, an admin Request window: every enquiry and quotation lands in a pipeline the owner drags through New → Contacted → Quoted → For Payment → Won or Lost, so nothing falls through. Next.js 15, Postgres, Resend for email, Cloudflare Turnstile against spam.
Result
A roofing business that looks the part, answers the visitor's first question — "how much, roughly?" — on the spot, and gives the owner one screen where every lead has a status instead of a scroll through text messages.
