This week's highlights: a full-page LED skin therapy consultation quiz with an on-page face scan

A modern dressing-room vanity with a large mirror and considered decor, evoking the kind of polished routine a luxury skincare customer enjoys

TLDR: A full-page LED skin therapy consultation quiz with an on-page face scan, a proper invoicing system inside our client operations app, a wholesale self-service portal for a speciality coffee roaster, and an alt-text generator plus a practitioner finder for a professional-grade clinical skincare brand.

If there is a theme to this fortnight, it is intelligence. Not the buzzword kind, but the quiet sort. The kind that sits behind a quiz question and decides which device to recommend. The kind that looks at a face on a product page and works out which zone needs attention. The kind that reads a thousand scattered product images and sorts the approved from the rest. A lot of what we built was about systems that think before they do anything.

Alongside the new intelligence work, we sharpened a lot of things that were already in service. Invoicing grew up. Alt text got a serious upgrade. A B2B customer account learned to serve itself. A flat lay tool learned to size a tank top from fifty real examples rather than one guess. There is a pleasing rhythm to a fortnight like this, where half the team is inventing and the other half is refining.

Here is what went out.

This week's highlights: a full-page LED skin therapy consultation quiz with an on-page face scan

The standout build of the fortnight was for a professional LED light-therapy device brand. It arrived in three parts that now talk to each other. First, a full-page skin consultation quiz that lives at its own URL rather than inside a modal. A cinematic brand image cycles on the left panel for each question. Pill-style answer buttons keep the journey calm. The results page reveals the recommended device inline, rather than bouncing the customer to a separate screen. Second, an on-page face scan. It uses face detection to overlay a mesh on a captured photo, identify zones of concern, and surface a routine with product images and pricing. Third, a redesigned admin area. The brand's team can edit recommendations per answer through a side drawer, migrate older template logic into the new model, and manage the flow diagram with a compact device-weighting view.

Under the surface, there were a lot of small decisions that matter for non-technical readers to know about. The mesh now aligns to the captured photo rather than the live camera feed. Sounds obvious. It was anything but. The quiz auto-republishes on every deploy, so the team does not have to remember to click a button. Answer icons load eagerly. The brand's customers were previously seeing blank squares for a beat when the quiz first loaded, and a beat on a luxury product page is a very long time. The API contract was tightened so the full-page quiz and the original embedded one speak the same language. The team can iterate on either without worrying about silent drift.

What makes this project sing is that the three layers are genuinely useful to three different audiences. The customer gets a cinematic, considered journey that ends with a routine rather than a shrug. The brand's marketing team gets a quiz they can edit themselves without opening a ticket. The wider team can tune which product is recommended against any given answer without touching code. That is the unglamorous but important thing that separates a one-off build from a living product.

There is still polish to come. We want to bring the scan into the quiz itself as an optional step, so a customer can choose to show rather than tell. We are watching completion rates closely now that the full-page version is live.

Under the hood: a proper invoicing system inside our client operations app

The deep dive this fortnight is internal. Our client operations app, which is the central piece of software the team uses to run client work, grew a proper invoicing system. It now generates subscription invoices and order invoices through a PDF engine that respects configurable business name, presentment currency, editable bank details, and a setting to hide zero-value delivery lines.

The settings page itself was rebuilt as an editable surface rather than a read-only view. That sounds trivial. It is the difference between a non-developer being able to change the company VAT number and a non-developer raising a ticket every time they want to change the company VAT number. The email config is now client-side friendly because the format helpers were lifted into a shared module, which means any part of the app can format the same number the same way without divergence creeping in over time.

On the operations side, Download buttons for Invoice and Receipt now sit on the order view, for clients who want the paperwork on demand. That single placement quietly removes a recurring support request, since the customer can now fetch their own paperwork at the moment they want it rather than emailing the team and waiting.

Worth noting if you are building anything similar. A document-generation system is mostly boring infrastructure that nobody notices until it goes wrong, but the surface area you expose to your operations team matters a lot. The easier you make it for them to update business details, the longer your invoicing system will last without anyone touching the code.

Other work this fortnight

A speciality coffee roaster had a fortnight of deep B2B work. Their wholesale operation is now considerably less paper-based. Customers logged into their account can now download invoices for any order themselves. We split the customer-account extension into a page block and a link extension, so it behaves nicely on mobile. We added a supplier information page and a supplier order form as utility tools for the internal team. We introduced an inventory-by-SKU report that strips out tier-variant duplicates, so the numbers actually match what is on the shelf. We also built a new inventory movement report. Bulk-editing payment terms now syncs back to Shopify inline. The B2B managed tags are derived from the union of company and customer settings, so the account tag never drifts.

A professional-grade clinical skincare brand picked up two substantial new tools. The first is an alt-text generator that runs across every image source Shopify offers. That covers products, collections, content blocks, articles, files, and custom-data file references. A pre-flight permission audit skips source types the brand has not authorised, rather than failing loudly in the middle of a job. The image optimiser alongside it has a per-source savings breakdown and clear original-suffix backups. Both tools now run on durable background jobs with a proper cancel flow, so nothing gets orphaned mid-run. The second is a practitioner finder, so customers can locate authorised stockists by location. The two together cover both sides of the experience: consistent imagery and alt text across thousands of products, and a real-world clinic for the buyer to walk into.

The quick wins

A small pile of smaller new capabilities landed alongside. A mix-and-match womenswear label's flat lay proportions tool was calibrated against fifty real examples (tank tops lifted from 48 to 56 per cent of canvas, shorts dropped from 50 to 38). It gained a colour filter and a multi-select bulk job. The whole tool moved to background processing with concurrency, so the UI no longer blocks on big jobs. The same brand picked up the skeleton of a new Perfect Fit automation system. It comes with its own driver, flows, durable failure handling, and heartbeat schedule. Our internal content intelligence engine grew several new capabilities too. It now ingests a brand's website, auto-generates brand guidelines, and drives content ideation, tone analysis, image matching, and knowledge notes against a capped corpus. The image matcher now picks images with AI rather than string matching. The knowledge bank caps sources at ten and aggregates the rest. A long list of authoring tools (Blog Articles, Pages Manager, Customer Import, Alt Text Generator, Image Optimiser, 404 Fixer, llms.txt generator) now all live in the one engine.

Next fortnight there is a fair bit of scan work to bring into the main consultation flow, a round of content intelligence features that are ready to move from internal demo to first client pilot, and an overdue audit of the older toolkits that are now served by the new engine. More next Tuesday.

Photo by Franco Debartolo on Unsplash.

More from the blog

A child riding a tractor at a family farm attraction

How we built an experiences-commerce platform on Shopify for a busy farm attraction

Read →
Circular lounge with a central fireplace and red sofas, sophisticated members club interior

This week's highlights: a multi-brand reporting platform for a luxury beauty group

Read →
An ornate gold chandelier on a white coffered ceiling in a luxury hotel interior

This week's highlights: a multi-brand reporting platform for a luxury beauty group

Read →

Like what you've read?

Tell us about your project. A team member will reply within one business day.