01
Why it moved
I built the shop’s site in Webflow, without code. When Webflow’s pricing became the problem, I moved it to Laravel, with AI doing the heavy lifting under my direction, onto my own server.
The shop has since closed. The site stays online as an archive.
02
The port
Webflow’s export was badly structured, which is a design problem in itself. So the port started with the data.
- 2.1Parsing the export was automated.
- 2.2Every image was renamed and sorted into a clear structure.
- 2.3Photos are served as AVIF and WebP at up to ten widths, from 240 to 1,920 pixels, with a JPEG fallback.
- 2.4Images below the fold load only when they are needed.
- 2.5Products and orders came over through import commands, with a dry run first.
- 2.6New uploads in the Filament admin get their image sizes automatically.
2.7
Measured on a phone
Lighthouse on mobile, before and after the port, together with the Network and Sources tabs in Chrome’s developer tools, showed what the work changed.

03
What it taught me
- 3.1Badly structured data is a design problem in itself.
- 3.2AI can carry a port like this, as long as I set clear limits and check the result.


