PROJECT_07
Sitio web HECASA
Site for a custom ironwork and carpentry workshop, in development: services, project gallery and contact form, served from the edge on Cloudflare Workers.
- TYPE
- Website · Next.js
- STATUS
- IN PROGRESS
CONTEXT
HECASA builds fitted kitchens, closets, custom furniture, gates and railings in Puebla. Their work sells on the photograph, so the site was built around the gallery: every project with its images, materials and finish. The name comes from the trade — HErrería y CArpintería — and both weigh the same in the structure, in that order.
WHAT IT SOLVES
- A gallery of finished projects, each with its own sheet: materials, finish, hardware and build time.
- A catalogue of both trades, from fitted kitchens and closets to gates, railings and metal structures.
- The process explained in three steps — consultation, proposal, build — because it is the question that comes up most before ordering.
- A contact form that reaches the workshop inbox, plus WhatsApp and a location for whoever prefers to call.
- Local business structured data, so it turns up for "carpenter in Puebla" and not only by name.
HOW IT IS BUILT
- Next.js 16 with the App Router, deployed to Cloudflare Workers through OpenNext: pages are pregenerated and the Worker only handles the form submission.
- Photographs are compiled to WebP at several sizes during the build, not on every visit. Optimizing them at the edge exhausted the Worker resource limit and returned error 1102.
- The form sends through Resend with the key stored as a secret, never in the repository or the client bundle.
- Contact details live in a single file and, while they remain placeholders, the site neither links them nor declares them in the JSON-LD: it never publishes a phone number that does not exist.