Storefront design & build
Good Sort
A storefront for an Australian dog-and-human wearables label, designed and built start to finish: collection, quick view, cart and a set builder.
- Client
- Good Sort
- Role
- Art direction, UI design, front-end build
- Year
- 2026

Overview
Good Sort sells wearables for dogs and the people walking them: harnesses, rope leads, jackets, tees and caps. The brief I set myself: build the actual store instead of mocking it up — a working collection, cart and product flow, so you judge the design by using it.
It’s one page with a lot going on: a hero, a category strip, the collection, a campaign panel, a set builder called Shop the Walk, and an editorial strip called Out and About. All the shop logic runs in the browser; there’s no checkout backend behind it yet.
The opportunity
Pet gear online usually splits two ways: utilitarian and cheap, or so styled you can’t tell what you’re buying. This label is priced like fashion, so the store had to look the part without losing the boring-but-vital harness info — size by chest girth, colourways, what it’s made of.
The other problem was range. Products span dogs and humans, so a single flat grid would have made a harness and an overshirt look like the same kind of purchase.
Creative direction
Six colours hold it together: oxblood, chalk, denim, powder, citron and ink. Every product is shot on one of them, so the grid reads as one collection even when the products don’t match. When the brand package landed, the store took it on wholesale: the official wordmark and GS symbol, its icon set, and Archivo Black and Inter standing in for the licensed type the guide names.
Type is a bold grotesque set very large for section headings against small, quiet interface text. Every product card carries two views — the piece on its own, and the same piece worn — swapped on hover while the photographed colour is selected, so browsing feels a bit like picking it up. Choosing a colour swatch repaints the product shot, so the picture always matches the variant you’re buying.

Process
Catalogue model first: every product is one entry with kinds, colourways, sizes, a blurb, details and two image slots. Filters, search, quick view, the cart and the set builder all read from that one source, so adding a product needs no new UI.
Then the shell — header, cart drawer, quick view, search overlay, mobile menu — followed by the sections. If a photo hasn’t been shot yet, its slot shows a flat brand-colour panel with a caption, so a gap looks planned instead of broken.
The words follow the photos, not the other way round. When a shot showed a knotted bandana, a silver hook or a smooth shell, the description changed to match, and a strip of campaign shots that had been passed off as customer photos under made-up handles became “Out and about”, captioned as what it is.
Only one colourway of each piece was photographed, so the rest are that photograph repainted: pixels are picked by hue, which on a coloured base leaves hardware, piping, stitching and the ground untouched, and each pixel keeps its own shading so folds still read as fabric. It stands in for a full shoot rather than replacing one, and it has two edges: a dark piece can’t be turned convincingly light, and a chalk piece has no hue to select on, so the repaint tints its hardware along with the fabric. Those colourways wait for a camera.
A browser pass checks it at three widths: every swatch on every card, the filters, each dialog by keyboard, and a reduced-motion run. It caught the hero going invisible with reduced motion on, and a bandana that vanished from “Everything”.
Services provided
- Art direction
- Product photography direction
- Brand guide implementation
- Product copy
- UI design
- Design system and palette
- Next.js front-end build
- Cart, quick view and search
- Responsive layouts
Final work







Outcome
A working storefront: eight pieces in the catalogue, filtering by kind, quick view with colour and size selection, a cart drawer, search, and a set builder that puts a harness, lead and bandana together as one purchase.
It’s a prototype, not a trading store — no checkout backend yet, so there are no sales or traffic numbers to claim. The point is the brand, the interface and the build coming from the same hands.
Related work
More like this
Concept projectSoaruine Botanicals
Brand & e-commerce · 2023
Concept projectBloom Floristry
Brand & Shopify website · 2023
Concept projectPawTreats
Shopify store & product styling · 2024