Hi, I’m Luke Duff, a Sunderland-based web designer and IT consultant. I specialise in creating custom, user-friendly websites that help small businesses succeed online. With a deep understanding of local challenges, I offer personalised solutions to meet your unique needs. Let’s work together to bring your vision to life.
Contact Us


Smart Payment Solutions
Bespoke Software Tool
Client: Smart Payment Solutions · Paul Huxley · Bespoke Internal Software Tool
Paul Huxley at Smart Payment Solutions was building up a library of product images for the till software he supplies to his customers. His existing method was to ask ChatGPT for around ten product images at a time. It would hand back a single collage with all ten products spaced out on one picture, and he would then cut each product out by hand before it could be loaded onto a till button. It worked, but it was slow, fiddly and inconsistent.
What he actually needed was the opposite of a collage: one image per product, every one built to the same fixed format, saved as its own file and named after the product. The written spec was specific — 1000×1000, product centred, plain white background, no props, filenames generated from the product name, a CSV mapping each product to its file, and the whole batch downloadable as a ZIP.
This was delivered as a fixed-scope, fixed-price software build, entirely separate from the Smart Payment Solutions website so that nothing about the tool could affect the live business site. Paul supplies his own OpenAI key and pays for image generation directly, so there is no cost sitting between him and the tool. Ownership of the underlying code is retained by lukeduff.co.uk with the client licensed to use it.
| Problem | Solution Implemented |
|---|---|
| Ten products came back as one collage that had to be cut apart by hand | Built a batch generator that calls the image API once per product, so each product returns as its own separate file ready to load straight onto a till button. Individual products can also be regenerated on their own without rerunning the whole batch. |
| Output format and file naming had to be consistent, not left to whatever the model felt like | The image instructions are assembled server-side and locked, so the user only ever supplies a product name and an optional description — never a raw prompt. Filenames are slugified from the product name automatically, and the CSV map, ZIP writer and slugger were all written from scratch rather than pulled in as third-party libraries. |
| No way to know what a batch would cost before running it | Added a live cost estimate that updates as the product list is built, plus three selectable quality tiers. The cheapest Draft tier works out at roughly a penny an image against roughly thirteen pence on High — around a fifteenfold spread, made visible in the dropdown so the choice is an informed one. |
| Paul asked whether he could import a spreadsheet instead of retyping his product list | Added CSV upload with a dependency-free parser that handles quoted fields with embedded commas, escaped quotes, mixed line endings, a UTF-8 byte order mark and an optional header row, and falls back to the simpler pipe format. Shipped a downloadable CSV template alongside it so the column order is never in question. |
| The OpenAI key is a live billing credential and must not sit on a server | The key is encrypted with AES-256-GCM and held in an httpOnly cookie in Paul’s own browser — the server never stores it. Access is gated by a passphrase check in edge middleware before any generation endpoint is reachable, and the app carries in-product guidance on setting a hard monthly spend cap on the key itself. |
| A private tool still has to survive being reachable on the public internet | Hardened in-house rather than bolting on a third-party access product: security headers, a noindex policy, constant-time passphrase comparison, and a durable rate limiter backed by object storage so it keeps counting across serverless cold starts. An independent black-box then authenticated penetration test passed 40 of 40 checks, including a critical authentication bypass that was caught and fixed during testing. |
EXCELLENT Based on 21 reviews Posted on Google Ciaran MurphyTrustindex verifies that the original source of the review is Google. Luke is the best web designer I've ever used. He explains everything clearly and guides you to get a better end product than you thought possible.Posted on Google Mark HaywoodTrustindex verifies that the original source of the review is Google. Great service from start to finishPosted on Google Stacey MerchantTrustindex verifies that the original source of the review is Google. Luke was super fast at identifying and solving my website security problem. He kept me updated throughout the process and has given me help and advice to prevent it happening again.Posted on Google Paul HuxleyTrustindex verifies that the original source of the review is Google. Amazing quality of work and very professional. Faultless project; Start to finish was an organised and methodical process with professional, clear and concise communication throughout. Luke delivered an exceptional website, even with some technical challenges set, he rose to the task and delivered with ease. Any process step that that required my input or completion was communicated efficiently and simply by Luke, resulting in no confusion nor mistakes on my side, much to Lukes credit! In summary Luke has created a website of great quality via a very professional project journey. I strongly recommend his services.Posted on Google Pamela whitehurstTrustindex verifies that the original source of the review is Google. More than happy with lukes work ,did what he said he'd do and the works flooding in ,thank lukePosted on Google David OwensTrustindex verifies that the original source of the review is Google. I would highly recommend Luke, Luke exceeded all my expectations. Communicated regularly throughout the process and extremely professional. First class service!!!Posted on Google Davie BoylenTrustindex verifies that the original source of the review is Google. Luke's work is second to non. He is very professional and his communication is great. He talked me through the full process and being honest and realistic... that's very rare these days. Would highly recommendPosted on Google billy wrightTrustindex verifies that the original source of the review is Google. I am totally pc illiterate and Luke has been a godsend for me. I love my new website, something I could never dreamed about doing, nothing was to much bother to him . I can't recommend him highly enoughPosted on Google Suzanne CanningTrustindex verifies that the original source of the review is Google. I’m absolutely delighted with the website Luke created for my business, Lightrom. From the very beginning, he demonstrated a clear understanding of my vision and needs. He listens attentively, communicates effectively, and always delivers on time. I couldn’t be happier with the outcome and highly recommend Luke to anyone looking for a reliable and talented web designer. Thank you, Luke, for your dedication and excellent work!Verified by TrustindexTrustindex verified badge is the Universal Symbol of Trust. Only the greatest companies can get the verified badge who has a review score above 4.5, based on customer reviews over the past 12 months. Read more