Work · 07 of 9

Margo Rubber

B2B export site where contradictions in the source material cannot reach production

Role
Sole engineer (Third Shade Media)
Studio
Third Shade Media Services
Period
Aug to Sep 2026
Status
client
Stack
  • Next.js 16
  • TypeScript
  • Tailwind v4
  • MDX
  • Zod
  • Sanity
  • Neon Postgres
  • Resend
  • Vercel

Measured

MetricValueWindowSource
Caught by build gates, broken links, lists keyed by href, silent-404 SKU pages13 + 23 + 4Aug 2026check-links and check-blocks gates, tracker log 12 to 13 Aug 2026
Enquiry forms wired, across 6 pages to one validated endpoint; two would have posted empty918 Aug 2026check-enquiry gate, 60 assertions

Problem

A B2B export site for a rubber-components manufacturer: eleven product categories with SKU pages, industries, an export map, case studies, resources, legal pages and enquiry forms. The Figma comps disagreed with each other and with the research pack: five different founding years, six export-country counts, three minimum order quantities, three response-time promises. Shipping any of those wrong would have cost the client credibility with buyers who check.

Correctness as a build step

ContentMDX + Zod frontmatterFacts registryunknown = nullBuild gateslinks, claims, schema,formsSanityread direct, not CDNNext.js sitestatic, VercelEnquiriesNeon, validate → spam →store → email
If content is wrong, the build fails with the field path. Nothing unverified reaches production.

Before and after

BeforeAfter
Contradictory factsWhichever comp the developer copied fromOne facts registry; unconfirmed values are null and render as nothing; a forbidden-claims list
Broken linksFound by visitors13 broken hrefs and 23 lists keyed by href caught by a build gate
SKU pagesFour silent 404s from a missing collection case, YAML null, an SEO budget and an h1 length rule rejecting "C Pad"All rendered; 29 legacy WooCommerce URLs mapped with 301s
Enquiry formsNine forms on six pages, two would have posted emptyOne endpoint, eight canonical columns, honeypot and time-to-submit, a 60-assertion field-map test
MotionAnimation library for the export mapCSS scroll-driven timeline, no JS, no client boundary

Judgment calls

I declined to draft legal copy and left those pages as structured blocks for the client’s counsel. Founding year and export counts stayed null until the client confirmed them. Client work; no visuals here, live URL to follow when the domain goes up.

Learned: Hold unknown facts as null, never guess. A build gate is cheaper than an apology.

keysKeyboard
j / k
next / previous row
Enter
open the focused row
⌘K or /
search, or ask this site
g then h w a c
go home, work, about, contact
t
toggle light and dark
Esc
close the palette or this map
?
this map