SELECTED WORK / CANNABIS DELIVERY

The Cannabashery.

San Pedro and the South Bay, California

An apothecary-styled website for a cannabis delivery service in San Pedro, with a page for each of the 20 South Bay cities and areas it serves.

Visit live website (opens in a new tab)Explore the project
The Cannabashery homepage: “Same-Day Cannabis Delivery in San Pedro & the South Bay”
CLIENT
The Cannabashery
INDUSTRY
Cannabis delivery
OUR WORK
Website design & development, SEO
WEBSITE
cannabashery.com

THE PROJECT

A modern apothecary,
delivered across the South Bay.

The Cannabashery is a licensed, delivery-only cannabis retailer based in San Pedro, California. It delivers to adults 21 and over across San Pedro and the South Bay, from Long Beach and Torrance to the Palos Verdes Peninsula.

The website needed to explain the service plainly (hours, typical delivery times, the order minimum and where it delivers) and send shoppers to the online menu, which runs on a WebJoint storefront at cannabashery.com/shop. It also needed a page for each city it serves and a blog that answers common product questions.

DESIGN STRATEGY

Boutique in tone,
plain about the facts.

The site leads with a modern apothecary identity: deep mahogany, tan-gold, sage and parchment, with dark, moody product photography and soft amber light behind the hero.

Practical facts sit directly under the headline: delivery hours, typical delivery time and the order minimum. Category tiles, a scrolling row of brand logos and a three-step “how it works” section lead to the shop, and a floating Shop Now button appears once visitors scroll past the hero.

TYPOGRAPHY

Playfair Display headings over Geist body text.

COLOR

Deep mahogany, tan-gold, sage and parchment: a vintage apothecary palette.

THE PATH TO THE SHOP

Category tiles, a brand marquee and a floating Shop Now button that appears after the hero.

HOW IT’S BUILT

A static site,
with the shop on WebJoint.

We built the site with Next.js 15, React 19 and TypeScript, styled with Tailwind CSS and Radix UI components, and export it as static HTML that AWS Amplify publishes and CloudFront serves.

Every page is prebuilt, there is no application server to maintain, and the online menu stays on WebJoint under the same domain.

FRAMEWORK
Next.js 15 (App Router) and React 19
LANGUAGE
TypeScript
STYLING
Tailwind CSS with Radix UI
RENDERING
Static export, one folder per page
SHOP
WebJoint storefront at cannabashery.com/shop
HOSTING
AWS Amplify, S3 and CloudFront

SEARCH, BUILT IN

Twenty cities,
one business behind them.

Without a storefront or search ads, the city pages and structured data carry The Cannabashery’s local search.

Each of the 20 cities and areas the service covers has a landing page with delivery times, neighborhoods, an answer-first introduction, a local FAQ and links to nearby cities.

City introductions and FAQ answers come from one data file, so the visible text and the FAQ structured data always match.

A shared structured-data graph ties it together: one LocalBusiness that provides a Service on every city page, with breadcrumbs, BlogPosting on articles and FAQ markup wherever questions appear.

A shared metadata helper gives every page a single brand suffix, a self-referencing canonical address and its own social sharing tags.

robots.txt explicitly welcomes search and AI crawlers, an llms.txt file describes the business and its pages, and every city page is linked from the footer.

The Cannabashery homepage on a phone, with Shop Now and View Full Menu buttons

THE SAME WEBSITE. A SMALLER SCREEN.

PROJECT HIGHLIGHTS

The details
that make it work.

Twenty city pages

Each South Bay city and area has its own page with delivery times, neighborhoods, a local FAQ and links to nearby cities.

An apothecary identity

Mahogany, tan-gold and sage tones with Playfair Display headings give the delivery service a boutique feel.

A question-led blog

Articles use a table of contents, key takeaways, checklists and a reading-progress bar.

YOUR NEXT WEBSITE

Planning a website
your customers will use?

Let’s talk about your business, your customers and what your website needs to do.