A curated vintage label taken from an empty Shopify account to a live storefront in eight weeks.
Nobody buys a $135 secondhand long sleeve from a store they have never heard of unless the store answers three questions before they are asked: is it real, what condition is it actually in, and what happens if you are wrong.
Most vintage shops answer none of them. They post a photo, write “great condition,” and hope. Trabear was built the other way around — the trust architecture came first and the visual design was built to carry it.
The name is Travel + Bear — though the one doing the travelling is the garment, not the bear. Every piece has already lived a life before it reaches the buyer.
The mascot went through four rejected directions — a fine-line crest, a geometric mark, a silhouette, a soft naive character — before landing on 1980s New York pop art: thick outline, crossed eyes, an underbite grin, red radiating lines. The brief I kept returning to was “a cute mood with an un-cute drawing.”
The palette is two colours doing all the work. Wine carries the hero and the header; cream carries every page a customer has to actually read.
Two pages carry the whole promise. The product page grades condition on a five-star scale and then lists what is actually wrong with the garment. The authenticity page publishes the six checks every piece passes and commits to a refund with no time limit if a piece is ever confirmed fake.
Backgrounds are removed with a segmentation model and composited onto the brand cream — never with a generative model. Generative retouching invents details: on a test pass it added a garment tag that did not exist. On a one-of-one secondhand piece, an invented detail is a returned order and a broken promise. Close-up shots of labels and wash tags stay untouched, on their original background, for the same reason.
Mascot exploration, wordmark, favicon, and a nav mark that survives the theme’s client-side hydration — the custom menu icons are re-applied by a MutationObserver so Horizon cannot overwrite them on load.
Horizon, re-tokenised to the brand palette. All 448 theme files pulled locally and edited through the Shopify CLI, so every change is reviewable and reversible. Changes ship to an unpublished theme first, get previewed, then get published.
Four automatic collections driven by product type, so a new listing files itself. Product-page accordions for shipping, returns and authenticity. A drop structure — Drop 001. Two pieces. Two stories. — that reads as intentional at two items and still works at fifty.
A repeatable photo pipeline and a description template: brand, item, tagged size, era, colour, material, condition rating, flaw checklist. Voice is dry and slightly mean — the empty cart reads “Your cart is empty. The bear is unimpressed.”
Domain purchase and connection, Cloudflare DNS, a Google Workspace mailbox on the brand domain with SPF and DKIM verified, and an Ontario sole proprietorship registered so the business banks and files separately from the owner.
Shipping zones and free-shipping thresholds for Canada and the US, a second market priced in USD, five policy pages, FAQ, About and a working contact form — then password protection off, verified from outside the admin session.
| Count | What | Note |
|---|---|---|
| 8 weeks | Empty account to public storefront | Part-time, single operator |
| 12 | Published pages | Incl. 5 policy pages and a contact form |
| 448 | Theme files under local version control | Pulled and pushed via Shopify CLI |
| 6 | Authentication checkpoints, published | Source, label, construction, comparison, review, third party |
| 4 | Automatic collections | Outerwear, Tops, Bottoms, Accessories |
| 2 | Markets and currencies | CAD and USD, with separate shipping rules |
Vintage buying happens on a phone, usually from Instagram. Every layout decision was checked at 390 px before it was checked anywhere else: the wordmark scales rather than wraps, the marquee keeps moving so the page never looks static, and the first product is reachable in one thumb scroll.
The header collapses to three targets — menu, search, cart — and nothing else competes with them. No interstitial, no newsletter modal, no cookie wall stacked on top of a first visit.
Trabear is my own label, which means I own every decision in it — the brand, the theme code, the photography rules, the DNS, the business registration. That is the same range I bring to client work.