← All work

Selected work

Craft cannabis retail

The whole marketing function for a BC craft cannabis retailer: brand, website, search, email, paid ads, social, retail, packaging and events. 57 pieces, grouped by discipline.

The retailer's online store: a campaign hero above the full product navigation, serving three retail locations plus delivery and mail order.
The online store. Over a hundred products across three locations, plus delivery and mail order.

The brand system

Gold on black, held without drift. The system was built to make a craft cannabis retailer read as premium in a category that mostly reads as clinical or as a head shop, and it does it with almost nothing: two darks, white, and one gold that is only ever a tenth of the frame. Type is a single family in upper case. The written guideline runs to twenty-four pages and specifies tracking and leading in points, which is why the same three colours and one face survived a website, a hundred product listings, packaging, in-store print, email, paid social and events without drifting.

Palette

  • Near-black #1B1B1B 40% of the frame. The dominant ground. RGB 27, 27, 27. Also the logo colour on light backgrounds.
  • White #FFFFFF 30%. Type, and the light ground. RGB 255, 255, 255.
  • Charcoal #323232 20%. The second dark, one step up from the ground, for panels and texture. RGB 50, 50, 50.
  • Gold #DAA720 10%, and never more. The brand, on dark grounds. RGB 218, 167, 32.
  • Deep gold #B08617 The same 10% on LIGHT grounds, where the brighter gold loses contrast. RGB 176, 134, 23.

Typography

  • Avenir Next LT Pro Bold Headings. Always upper case. 40-80pt, 24pt tracking, 66pt leading, white on dark.
  • Avenir Next LT Pro Demi-Bold Subheadings, also upper case, and the widest tracking in the system by a distance: 20-36pt at 195pt tracking, 40pt leading.
  • Avenir Next LT Pro Heavy Italic Quotes only. Upper case, 20-38pt, 10pt tracking, 45pt leading. The one italic in the system.
  • Avenir Next LT Pro Medium Body and captions, and the only place the system drops out of upper case. Body 14-18pt / 24pt leading; captions 10-15pt / 20pt leading, set in gold.
  • Heading 40-80pt · tracking 24 · leading 66 · UPPER CASE
  • Subheading 20-36pt · tracking 195 · leading 40 · UPPER CASE
  • Quote 20-38pt · tracking 10 · leading 45 · UPPER CASE italic
  • Body 14-18pt · tracking 0 · leading 24 · sentence case
  • Caption 10-15pt · tracking 0 · leading 20 · sentence case, gold
  • Colour split 40 near-black · 30 white · 20 charcoal · 10 gold

Guidelines

Do

  • Hold the 40 / 30 / 20 / 10 split. The gold is a tenth of the frame, and that restraint is the whole reason it reads as premium.
  • Swap the gold by ground: #DAA720 on dark, #B08617 on light. They are the same brand colour solved twice.
  • Set every heading, subheading and quote in upper case. Sentence case exists only for body and captions.
  • Reach for the logo in this order: icon when space is tight, type when it is tighter, the combination whenever space allows.
  • Fill empty background with dark and gold geometry, angular facets and crisp polygons, at 25-70% opacity so the headline and the product still lead.
  • Place the mark centred, or bottom centre. Build to 1080x1350, 1080x1920 and 1920x1080.

Don’t

  • Never let the gold take a large surface. Ten percent is the specification, not a suggestion.
  • No second typeface. One family in five weights is the entire system, and it is what kept every piece of material consistent.
  • The black logo is used sparingly and only when absolutely necessary. Dark ground with the white logo is the recommended lockup.
  • Never run a texture at full opacity. Above about 70% it starts competing with the thing it is behind.
  • No casual or lifestyle-snapshot imagery. The direction is premium and clean, shot in natural or soft warm light.
  • No sentence-case heading. It reads as a different brand immediately.
01

Brand & identity

A twenty-seven page marketing audit and proposal covering social, website, email, paid search, SEO and content.
Where it startedA six-channel audit that set the priorities
The original logotype detail sheet, produced by an outside design studio before the rebrand.
BeforeThe inherited logo system
The inherited nine-page opportunity package beside the twenty-four page brand guideline that replaced it.
The rebrandA nine-page starter deck expanded into a complete brand system
The brand guideline cover beside four of its pages: logo hierarchy, colour palette, media placement and primary typeface.
AfterA new identity, and the guide that keeps it consistent
All twenty-four pages of the brand guideline, laid out as a grid.
Brand guideTwenty-four pages, so anyone who touches the brand gets it right
The logo system in four formats: icon, stacked lockup, horizontal lockup and wordmark.
Logo filesThe logo delivered in every format the business actually needs
Frames from a recorded internal walkthrough showing staff how to install their email signature, from the asset sheet through to Gmail settings.
Team rolloutWritten and filmed guides, so every staff member applies it the same way
02

Website

The homepage: a campaign hero above the full product navigation, serving three retail locations plus delivery and mail order.
Online storeAn online store with over a hundred unique products across three locations
The flower category page: every product photographed in-house on a clean white background, rather than reusing supplier stock images.
Product photosEvery product photographed in-house, not pulled from supplier stock
The grand-opening landing page shown in three columns: hero, opening announcement, three location maps and an email capture form.
Store launchA launch page that built a waiting list before the doors opened
Twenty pages from two design presentation decks, each annotated with the changes requested of the development team.
DesignEvery page approved on screen before the build started
A grid of site banners, each promoting a different featured product or store announcement.
Site bannersA fresh homepage banner for every product feature
Three campaigns shown as matched pairs: a desktop banner beside its mobile version.
MobileEvery banner built twice, once for desktop and once for phones
A user acceptance testing checklist with numbered tickets, each line struck through as it was signed off.
Launch testingEvery page checked against a written list before it went live
A grid of logged website bugs: product pages, category filters, sort controls, plugin screens and cart states, each captured, ticketed and resolved.
Bug fixingFaults found and fixed, at launch and long after
04

Email

The welcome email rendered on a phone. The account had no automation before this; every flow, template and segment was built in-house in Klaviyo.
Welcome emailAn email program built from nothing, starting with this one
A weekly new-arrivals email shown as three columns: flower, pre-rolls and extracts.
Weekly emailA new-arrivals email, written and sent fresh every week
An automated win-back email pulling four live products with categories and prices straight from the store.
Automated emailAn email that brings a customer back a month after their last order
Two test sends of the same welcome email: the first renders an empty coupon box, the second renders the working code.
TestingEvery email proofed before a single customer saw it
06

Social

A grid of published social creative, one frame from each campaign in chronological order, including reels shot, directed, edited and posted.
Post historyEvery post and reel shot, edited, written and published
Every named social post listed by year, from 2022 to 2026.
Posts102 named social posts, planned one at a time
A grid of published social posts.
The feedHow the feed looked once the format settled
A grid of twenty product photographs, all shot in-house on the same lighting and background system rather than sourced from suppliers.
PhotographyProducts photographed in-house, every week
A vertical short-form video frame from a reel produced end to end in-house.
VideoReels filmed, edited and scored in-house
Macro product photography set into a repeating post template.
Weekly formatA close-up product format that ran every week
A set of Instagram highlight covers built from one template.
TemplatesInstagram highlight covers built from one reusable set
A Reddit review account built for the brand: a long-form product review beside the profile, showing hundreds of contributions and over 2,300 karma.
RedditA review account grown from zero to over 2,300 karma
07

Retail & in-store

The Burnaby storefront with its window vinyl in place, above the door sign artwork, the installed backlit fascia sign and the large-format front sign flat.
Store signageStorefront signs designed, specced and installed
Three in-store display screens, each featuring a different supplier's product on the same template.
In-store screensScreens in store showing what is on the shelf right now
The full in-store display library as a numbered grid of 132 designed screens.
Screen library132 in-store screens, refreshed with every new delivery
The in-store paper menu: a hand-drawn cannabis line-art border around a categorised flower bar list with producer, strain, potency, weight and price.
Printed menuThe in-store menu, illustrated by hand and sorted by category
Three counter cards explaining a device range: features, size and how each one is used.
Counter cardsCards at the till that explain the products for you
Nine 24 by 36 inch posters of macro cannabis photography, each credited to its producer and photographer.
PostersNine large-format posters, made with the growers themselves
Five double-sided sandwich board designs: now open, craft cannabis, parking, and a come-in prompt.
Sidewalk signsSandwich boards, one clear message each
09

Events & partnerships

The customer appreciation golf tournament: sponsorship deck pages, a branded golf bag technical flat and a custom rolling tray.
Customer eventA customer golf tournament, its sponsor deck and its branded kit
The 420 sweepstakes campaign: three partner email creatives beside the prize, a Puffco Peak Pro. The entry mechanic collected opted-in email addresses for the client list.
Partner campaignA 420 giveaway run with a Vancouver events partner
The CannCast collective site, with the client listed among its members. Membership gives retailers direct access to small-batch drops that bypass normal distribution.
MembershipA founding seat in a private BC craft collective
A ten page quarterly performance review prepared for a supplier brand: portfolio overview, per-store and per-brand charts, top products and a summary. Figures are deliberately shown at a scale where they cannot be read.
Supplier reportingA quarterly performance review, written for the supplier
Two pull-down event banners beside the loyalty card as it appears in a phone wallet, showing tier and points.
Event brandingEvent banners, and a loyalty card that lives in the phone

What it added up to

Design and content are the visible part. This is the part the owner checks. Figures come from the client’s own Google Business Profile reporting. The headline numbers compare January to September 2022 against the same nine months of 2023, so the two windows match.

+133%

more Google searches brought up the business

year over year

+148%

more people viewed the store profiles

year over year

+65%

more calls, direction requests and website clicks

year over year

88%

of those searches came from people who never typed the brand name into Google

discovery, not brand

Local search, store by store

Vancouver +33% website clicks, Jan–May 2026 The Kingsway store. One in five people who saw the profile went on to call, ask for directions, or click through.
Burnaby +104% website clicks, Jan–May 2026 The newest store, on Canada Way. Clicks to the website more than doubled, profile views rose 42%, and contact actions rose 65% over the same five months.
Parksville +14% website clicks, Jan–May 2026 The Vancouver Island store, and the one that converts hardest: roughly one contact action for every three profile views, against one in five at the other two stores.

Full calendar years, Vancouver and Parksville

Phone calls +36% 2023 against 2025 Calls placed straight from the Google listing, comparing two full calendar years.
Directions +21% 2023 against 2025 Requests for driving directions to a store, the closest thing local search has to a footfall signal.
Website clicks +21% 2023 against 2025 Click-throughs from the listing to the online store, across both profiles.
All contact actions +22% and rising in both years Contact actions grew 13% in 2024 and 9% again in 2025, so the trend held rather than spiking once.

The clearest single result. The Vancouver store opened in February 2022 with almost nobody finding it on Google. By December of that same year it was being found roughly 37x as often.

The three store rows are the most recent reporting and all sit on the same five months, so they can be read against each other. The stat wall above them is the earlier year-over-year comparison, which is stated separately because Google changed how it counts profile activity in 2024 and the two eras are not the same measure.

The calendar-year rows are the long view. Vancouver and Parksville have twelve complete months in every year shown, so they can be read year against year. Burnaby is the newest store and has no earlier year to compare against, which is why it appears in the five-month window above and not in the calendar-year rows. Only contact actions are compared across the longer span. Profile views are left out of it on purpose: Google redefined how it counts them in 2024, so a 2023 view and a 2025 view are not the same thing, while a phone call is still a phone call.

Growth shown as percentages. Visibility and contact metrics only: revenue, cost and absolute customer counts stay with the client.

A second map channel, properly managed and measured

Apple Maps

The same three stores on Apple Business Connect, over the same five months. A second map platform, set up, corrected and reported on rather than left unmanaged.

+114% more directions requests to the Vancouver Island store Parksville, January to May 2026
3 in 4 found the stores by searching a category, not the brand name Apple Maps, May 2026
+45% more place-card views at the newest store Burnaby, same window

Two of the three grew, and the flagship did not. The Kingsway store slipped over this window on Apple while it rose on Google. That is in the report rather than out of it: a channel that only ever produces good news is not being measured, it is being decorated.

The category-versus-brand split is the useful part. Three in four people who reached the stores through Apple were searching for a kind of shop, not a name they already knew, which is the definition of a listing doing acquisition rather than just catching people who were already looking.

Apple Business Connect reporting, January against May 2026.

Removed by Instagram, and back bigger

Social

In February the account was taken down and every follower went with it. Meta removes cannabis retail accounts routinely, so this was enforcement rather than an accident, and it is the hardest thing that happened to any channel here.

0 followers left when Instagram removed the account 1,361 gone overnight
the monthly reach of the last full month before the removal five months after starting from nothing
65% of that reach came from people who did not follow the account discovery, not the old audience

Rebuilt from zero, and past where it started. Five months after the takedown the account was reaching three times as many people per month as it did in its last full month before it, on roughly a third of the followers. Against the previous full year’s monthly average it was reaching close to six times as many.

The reach also changed character. Before the takedown, most of it came from people already following. After the rebuild, two thirds came from people who were not, which is the difference between an audience being reminded and an audience being found.

An audience built up post by post over years can be gone inside a day, and on this platform that risk never goes away. What made the difference is that the strategy did not change. It had worked to build the account the first time, so it was run again exactly as it was, and it rebuilt the presence in a fraction of the time the original took. A strategy is only proven when it has to work twice.

Instagram account reporting. Follower counts, reach and impressions only.

Print that could be counted

Print and offline

Every offline piece went out with its own tracked code: bag flyers, business cards, rolling trays, in-store signage, direct mail, and the ferry-terminal map campaigns. Scans were logged per piece, per day, with location.

12 print and in-store pieces each carrying their own tracked code bag flyers to ferry-terminal maps
64% of one campaign link’s yearly scans landed inside a single month the moment the placement went live
88 direct-mail scans logged down to the postal code so a print drop could be mapped, not guessed

Most print is spent on faith. A flyer goes out, sales move or they do not, and nobody can say which piece did the work. Here every piece had its own code, so a placement could be judged on its own and the weak ones stopped.

The scan volumes are modest next to the digital channels, and are shown that way rather than inflated. The point is not the size of the numbers, it is that the numbers exist at all: one placement produced two thirds of its link’s entire year inside a single month, which is only visible because it was being counted.

Link and QR scan reporting, 2023 through 2026.

Selling with nobody at the desk

Lifecycle automation

Eleven automated flows on the online store, covering cart recovery, welcome, review requests and replenishment. Built in-house, measured weekly, and reported per flow rather than as one lump. January to May 2026.

7.4% of automated messages ended in an order category benchmark is 5 to 8%
$1,000’s in carts recovered that the business would otherwise have lost 1 in 12 chased carts came back, across 546 of them
2.9× better cart recovery within the hour than the next day 11.9% against 4.1%
11 flows running unattended, from cart recovery to replenishment built and maintained in-house

Timing beat copy, decisively. The same abandoned cart, chased one hour later, converted at 11.9%. Chased the next day instead, 4.1%. Nothing about the message changed. That single finding is the argument for measuring flows separately rather than reporting an email programme as one number.

Overall conversion across every flow ran at 7.4% against a category benchmark of five to eight, and the weakest flow was identified and named in the same report rather than buried in the average.

Cart recovery alone brought back thousands of dollars of orders the business would otherwise have lost, from three flows that ran without anyone touching them.

Conversion rates and run counts only: order values and revenue attribution stay with the client.