The business challenge
- Large, inconsistent supplier datasets
- Thousands of images and documents
- Inconsistent supplier formats
- Adding products by hand was slow
- Products required validation before publication
I was introduced to Prestige Kitchens & Bedrooms by a previous client, Prestige Barbers, when the business had no website.
The project began by establishing its online presence, then grew into an e-commerce platform supported by systems for processing supplier catalogues and organising more than 70GB of product files.
The products Prestige has prioritised so far are now available on the site, and the platform continues to expand across more ranges. I continue to develop the platform and support the team at Prestige Kitchens & Bedrooms, helping the business grow while learning more about its needs along the way.

The customer-facing website turns the catalogue into a clear journey across discovery, enquiry and purchase.
I built internal tools to review and approve supplier information before products appeared on the website.
I built tools to process large supplier catalogues and flag uncertain information for review.
The website and its data run on infrastructure designed for a growing business.
Prestige was given more than 70GB of product images and documents by its suppliers. They were difficult to organise and match to the right products. Technically, the files arrived in inconsistent folders, formats, sizes and resolutions, so they could not be safely used on the website.
I built a repeatable system to prepare and organise every approved image. Processing jobs converted files to WebP, assigned stable Cloudflare R2 locations and recorded their dimensions, supplier product codes and display order.
Prestige now has an organised image library connected to the correct products. Each catalogue entry points to consistent, web-ready files stored in R2.
Important product details were locked inside supplier PDFs and had to be separated before use. Technically, features, physical dimensions, warranty information and repeated page content were mixed within layouts designed for people rather than software.
I built a system that extracts possible product features and presents them for human approval. Deterministic PDF parsing handles predictable content. When PDF formats vary, a locally run AI model identifies likely product features within less predictable text. Its output is restricted to a defined structure and sent for human review; neither the parser nor the AI can write directly to the live catalogue.
Approved information can be added to the catalogue without blindly trusting automation. Every feature is stored as structured catalogue data with a recorded human decision and audit trail.
Customers could be left waiting at checkout because the connection to Stripe did not always complete correctly. Technically, Stripe’s default Node.js transport was unreliable inside the Cloudflare Worker runtime and could leave requests open indefinitely.
I changed how the website communicates with Stripe and added safeguards so checkout either completes or returns a clear error. The Stripe SDK now uses Fetch transport with explicit timeouts, idempotency keys prevent duplicate checkout sessions, and prices are recalculated securely on the server.
Customers receive a more dependable checkout and a clear response when something goes wrong. Duplicate sessions are controlled, and order history is updated only when the payment state has been confirmed.






If you would like to see more about each part, have a look at my LinkedIn
I have worked with Prestige from having no website to the platform they use today, and I continue to develop and support it.
Selected technical details are shown. Client data, credentials and operational information remain private.