Documented.
An identity for a contract pharmaceutical manufacturer, where the buyer is a procurement or quality lead and what they are exposed to is not a bad tablet but an audit they cannot answer for. The brand's job is to look like a paper trail.
An identity, then the thing that had to carry it.
- My role
- Executed — brand design and front-end engineering
- Working dates
- Files 3–4 Jul 2026; in version control 22 Aug 2026
- Built with
- No framework — one HTML file, custom properties, vanilla JS
- Declared in the code
- Brand System v4.1 · 60/30/10 · Midnight ground · Bone reads · Clinical accent
- State
- Not deployed
The buyer is not buying medicine.
- Leads with capacity: plant photographs, square footage, tonnage
- Competes on rate per unit
- Treats certification as a footer badge
- Publishes the product list as a PDF attachment, if at all
- Lead with licences, pharmacopoeial references and batch discipline
- Never state a rate anywhere on the site
- Make compliance checkable rather than decorative
- Put all 197 compositions in the page, searchable
A third-party manufacturer makes products another company sells under its own label. The category leads with capacity and competes on rate per unit. This one had to lead with documentation instead — and never state a price.
A branded house, not a house of brands.
- Before
- Four dosage divisions — liquids, capsules, topicals, drops and solutions — each an obvious candidate for its own sub-brand and its own mark.
- What forced it
- A contract manufacturer's whole argument is that the same discipline applies everywhere it operates.
- The decision
- One logo, one palette, one voice across every dosage form. Dual manufacturing licences under Form 25 and Form 28 cover the liquid, capsule and external-preparation sections, which is what makes a single mark defensible across four forms.
- What it changed
- Four marks would have said the opposite of the positioning. The page states the model in one line, and the division cards carry descriptions rather than identities.
197 approved compositions, in the page.
The licence schedule arrived as a government Word document. Parsing it into structured records is what turns a compliance document into something a buyer can search, filter and configure — a brand decision, not a technical one.
Syrups & suspensions
Creams, gels & ointments
Capsules
Solutions & mouthwash
Drops
Minimum order, units per SKU
The same on every one of the 197
The accessibility claim, measured.
AAA holds for the pairing that carries almost all of the reading. It does not hold for the whole palette, and both halves belong in a brand book.
| Pairing | As used | Ratio | Verdict |
|---|---|---|---|
| Bone on midnight | Body copy, every dark section | 15.20 : 1 | AAA |
| Midnight on bone | Body copy, every light section | 15.20 : 1 | AAA |
| Sky on midnight | Accent text, links | 7.98 : 1 | AAA |
| Steel on midnight | Labels, footer, hero tags | 5.42 : 1 | AA |
| White on clinical | Filled buttons | 5.22 : 1 | AA |
| Steel-dark on bone | The 19px / 300-weight lead | 4.36 : 1 | Below AA |
Computed from the declared hex values, not estimated by eye. Contrast is only part of accessibility; nothing was tested with a screen reader.
The colour survives the export. The typography does not.
The composition list exports as a PDF the visitor's browser assembles — the only artefact of this brand that leaves the page, and so the place the system is tested hardest.
- The midnight header band and clinical rule, rebuilt in raw RGB inside the generated PDF
- The mark drawn onto a midnight square, so a transparent PNG cannot go invisible
- One easing token applied seventeen times, which is the entire motion system
- The three-word spine carried verbatim into the page copy, the footer and the export
- The PDF sets everything in Helvetica: no embedded fonts, so the brand's letterforms do not travel
- No prefers-reduced-motion block anywhere on the page — every reveal and counter runs regardless of preference
- No written brand book: clear space, minimum sizes and misuse rules are undocumented
- Three unused logo exports sit at the assets root, one of them in a blue that appears in no token