React / Next.jsStack: Next.js

PillPharm

Online pharmacy platform

Built as a web developer on the in-house team at The ST Groups.

Visit the live site
PillPharm — Online pharmacy platform, built with Next.js

Context

PillPharm is a UK online pharmacy. I built its storefront as a web developer on the in-house team at The ST Groups, which runs the pharmacy, so this is employer work rather than a client project. Prescription medicines cannot be sold like ordinary products: a patient has to answer a set of medical questions first, and a prescriber reviews the answers before anything is dispensed.

The problem

A UK online pharmacy needed a storefront where patients could find a treatment, answer the medical questions a prescriber needs, and order, all in one place.

What I built

Built the Next.js frontend with structured treatment categories, product detail pages, a five-step consultation form, and a responsive ordering flow.

The consultation flow

The consultation is a five-step form with a progress bar, so a patient always knows how far through they are. Some answers rule a treatment out. When that happens the form stops and shows a clear 'no suitable treatment' outcome instead of letting the patient carry on to checkout, which protects both the patient and the pharmacy. Completed answers lead to a results page with the treatments the patient can go on to order.

Catalogue and cart

Treatments are organised into categories and sub-categories, each with its own product pages. The cart, wishlist and compare list live in a Redux Toolkit store that is saved in the browser, so a patient who refreshes the page or comes back later still finds their cart where they left it. Orders and consultation answers go through an API to the pharmacy's own order and assessment back office, where the clinical team reviews them.

The hard part

Keeping a content-heavy healthcare catalogue readable and quick to navigate without a heavy client bundle.

Result

Live storefront with a consistent component system and fast page transitions.

Built with

Next.js
Renders pages on the server, so content is in the HTML for crawlers and the first paint does not wait on JavaScript.
React
Component model for interfaces with state, so shared UI is written once and reused across pages.
Redux Toolkit
Holds shared client state such as the cart in one store, so every page reads the same values.
Bootstrap
Responsive grid and base components, so layouts hold up across screen sizes without custom breakpoints for everything.

Hiring from the United States? What working together looks like →

Related service

Further reading

Similar work