Move the content the way a larger client project would
With only six commodities, retyping them into Sanity would have been quicker. I built a real Webflow Data API → Sanity import pipeline instead, as practice for bigger migrations:
- fetch the collections and items from the Webflow API and save them as files;
- download every image and re-upload it to Sanity's asset store, so nothing depends on Webflow's CDN;
- convert the fields to the new content model and import in two passes, so references between items (category, related commodities) resolve correctly;
- run each step as a dry run first, then check every item in Sanity Studio against the live Webflow page.
All six commodities, their three categories and their photos came across this way.
One source for everything shared
- Site Settings in Sanity hold the phone number, email, credentials and founder details once, for every page.
- One
Section component owns the spacing scale (80 / 64 / 48px), measured from the Webflow export's CSS, so pages can't drift apart.
- The seven sourcing steps are written once and shown in two lengths (homepage teaser, full Process page).
Rebuild, don't redesign
The goal was design parity: the same layout, type, colours and motion. I ported Webflow's scroll animations to one GSAP engine that reads the same data- attributes the Webflow export used. The hero's dotted world map is the same Lottie animation, now loaded only when it scrolls into view and shown finished, without animating, for visitors who prefer reduced motion.
A sourcing form that does what it says
- Server-side form handling: email through Resend from the site's own subdomain, Cloudflare Turnstile and a honeypot against spam, and a clean "Commodities interested: X, Y" summary instead of raw
true/false values.
- Each commodity page's "Request a Quote" opens the form with that commodity already ticked.
- The "What JUMTA handles vs. what you handle" table spells out FOB and CIF responsibilities row by row, and scrolls sideways on phones with a hint so no column gets squeezed.
Ready for search and the team
Per-page titles, descriptions and canonical links, a sitemap that updates when a commodity is added in Sanity, structured data, a share image drawn from code, and a privacy policy that covers the analytics and the cookie banner. A set of owner's guides explains how to edit content, change styles and deploy.