Skip to content
bizurk
← ALL CASE STUDIES

Bloom/2017 - 2022/5 years/~20 people/3 hubs

Bloom

I co-founded the cannabis POS that took Oregon back from the incumbent.

Five years building Bloom POS at First Foundry Corporation. Product, brand, sales, marketing, store installs, fundraising, and the network the whole thing ran on.

03 reels

See it actually working.

Demos and feature launches recorded between 2020 and 2021: curbside pickup, the instant demo store, and the partnership pitch we used to onboard new dispensaries.

Reel 01 of 03

Instant Demo Store preview frame

FeaturedInstant Demo Store

Enter an email, get a fully provisioned dispensary with synthetic sales trickling in. Pair an iPad running the Bloom POS app to ring real transactions on the demo data.

PORTAL DASHBOARD / live demo

what owners actually saw on Monday morning

Inventory

Dashboard

Hourly Sales

Today
$17,720
Peak
5p · $2,680

Transactions

  • 2:48 PM3 items$84.50
  • 2:42 PM5 items$128.00
  • 2:39 PM2 items$42.25
  • 2:35 PM7 items$196.75
  • 2:31 PM2 items$64.00
Last METRC sync: 2 minutes ago

THE TEAM

~20 people. Oregon, Manila, Brazil.

See the whole crew ↓

  • $1.4MGMV processed
  • 30,500METRC-synced transactions
  • 10/10Customer NPS
  • 0%Voluntary churn
  • 20+Dispensaries on Bloom
  • 30+iPad registers deployed
  • 2 wksCurbside ship time
  • ~20Team across 3 hubs

Oregon legalized recreational cannabis. The dominant POS was unusable.

GreenBit owned the market. It was implanted across the industry and it was the worst piece of point-of-sale software on earth. Adding 20 items to a cart meant pressing a button 20 times. Returns took ten minutes. METRC sync was a manual chore that broke regularly. The bar to clear was on the floor.

I co-founded Bloom and led it across product, brand, sales, marketing, store installs, customer support, fundraising, and a chunk of the build. The work happened the only way it should for retail software: walking into dispensaries, shadowing budtenders, watching hands move across the register, and mapping where the existing tools were breaking them. Then the team shipped the replacement: front end, back end, METRC engine, hardware integrations, and the network the whole thing ran on.

Mule Fuel flower from Elevated, sample product photo

Flower

Mule Fuel

Elevated

INDICA-HYBRIDTHC 26.6%

$5.00 / g

Motorbreath flower from Luna Leaf, sample product photo

Flower

Motorbreath

Luna Leaf

INDICA-HYBRIDTHC 29.9%

$8.00 / g

Candy Apple flower from Rooster, sample product photo

Flower

Candy Apple

Rooster

SATIVA-HYBRIDTHC 28.9%

$70.00 / oz

Baby Yoda flower from Happy Goat, sample product photo

Flower

Baby Yoda

Happy Goat

HYBRIDTHC 35.6%

$28.00 / 1/8oz

Strawberry Jelly x Don Mega flower from Silver Sap, sample product photo

Flower

Strawberry Jelly x Don Mega

Silver Sap

INDICA-HYBRIDTHC 25.4%

$6.00 / g

Funk MTN flower from Chaaya Cannabis, sample product photo

Flower

Funk MTN

Chaaya Cannabis

SATIVA-HYBRIDTHC 30.9%

$8.00 / g

Lemon Cherry Gelato flower from Elevated, sample product photo

Flower

Lemon Cherry Gelato

Elevated

INDICA-HYBRIDTHC 26.5%

$5.00 / g

Snow Cane flower from Lucky Cultivation, sample product photo

Flower

Snow Cane

Lucky Cultivation

SATIVA-HYBRIDTHC 30.0%

$10.00 / g

Cap Junky flower from High Desert Relief, sample product photo

Flower

Cap Junky

High Desert Relief

HYBRIDTHC 29.6%

$6.00 / g

Hash Burger flower from Iron Lung, sample product photo

Flower

Hash Burger

Iron Lung

INDICATHC 30.7%

$35.00 / 1/8oz

Cherry AK-47 flower from High Desert Relief, sample product photo

Flower

Cherry AK-47

High Desert Relief

SATIVA-HYBRIDTHC 26.6%

$6.00 / g

Fresh Coast Cake flower from Happy Goat, sample product photo

Flower

Fresh Coast Cake

Happy Goat

INDICA-HYBRIDTHC 34.7%

$28.00 / 1/8oz

The full stack of a working dispensary.

5 layers · 18 surfaces

6/Layer

Compliance & tracked goods

METRC two-way sync over the honest tax math, returns wizard, hardware integrations, medical limits, and multi-store rollups.

5/Layer

Customer-facing

Curbside in two weeks, Wi-Fi handshake from web to in-store, mobile budtender app, Botbit reviews engine, and a built-in loyalty program.

4/Layer

Operations & reliability

Always-on iPad architecture, polling reliability engineering, the two-thumb iPad register, and the hundred-clicks-to-three numpad.

2/Layer

Analytics & admin

Portal admin dashboard with KPIs and audit trail, plus sales over time, category mix, and hourly transaction analytics.

1/Layer

Brand & identity

Bloom blue with a Roboto stack, an identity built ground-up to read as compliance-grade software.

Scroll to browse the full stack

Every package, every sync state, every error caught.

Cannabis is a tracked-good industry. Every gram in inventory has a 24-character METRC tag and a compliance state. Bloom’s job was making this surface human: synced packages disappear into the background, errors and stalled syncs surface with one-click fixes. Filter by category, sync state, or search the tag itself.

Bloom Portal

Packages

28 synced5 errors4 pending3 stopped
METRC TagProductVendorCategoryActions
Synced1A4FF0100000023000045123
Bubba Kush
East Fork Cultivars
East Fork CultivarsFlower16453.59 g2 min ago
Synced1A4FF0100000023000045124
Blue Dream
Greenleaf Farms
Greenleaf FarmsFlower8226.79 g2 min ago
Pending1A4FF0100000023000045125
Lemon Kush
Pruf Cultivar
Pruf CultivarFlower4113.40 gsyncing...
Synced1A4FF0100000023000045126
Ancient OG Preroll
Fume Bros
Fume BrosPre-Rolls1441.00 g5 min ago
Error1A4FF0100000023000045127
Wyld Raspberry Gummies
Wyld
WyldEdibles4747 min ago
Quantity discrepancy: METRC has 50, POS has 47
Synced1A4FF0100000023000045128
Lemon Skunk Live Resin
Echo Electuary
Echo ElectuaryConcentrates221.00 g8 min ago
Stopped1A4FF0100000023000045129
Granddaddy Purple
Dr. Jolly's
Dr. Jolly'sFlower8226.79 g2 hours ago
Auto-sync paused: package overselling detected
  • Synced2 min ago
    Bubba Kush
    East Fork Cultivars
    1A4FF0100000023000045123
    Category
    Flower
    Quantity
    16 · 453.59 g
  • Synced2 min ago
    Blue Dream
    Greenleaf Farms
    1A4FF0100000023000045124
    Category
    Flower
    Quantity
    8 · 226.79 g
  • Pendingsyncing...
    Lemon Kush
    Pruf Cultivar
    1A4FF0100000023000045125
    Category
    Flower
    Quantity
    4 · 113.40 g
  • Synced5 min ago
    Ancient OG Preroll
    Fume Bros
    1A4FF0100000023000045126
    Category
    Pre-Rolls
    Quantity
    144 · 1.00 g
  • Error47 min ago
    Wyld Raspberry Gummies
    Wyld
    1A4FF0100000023000045127
    Category
    Edibles
    Quantity
    47 · -
    Quantity discrepancy: METRC has 50, POS has 47
  • Synced8 min ago
    Lemon Skunk Live Resin
    Echo Electuary
    1A4FF0100000023000045128
    Category
    Concentrates
    Quantity
    22 · 1.00 g
  • Stopped2 hours ago
    Granddaddy Purple
    Dr. Jolly's
    1A4FF0100000023000045129
    Category
    Flower
    Quantity
    8 · 226.79 g
    Auto-sync paused: package overselling detected
Showing 7 of 1,247 packages

// search the tag · filter by sync state · click Force Sync to flash a fix

The first live-inventory dispensary menu.

Cannabis retail in 2019 had a lying-menus problem. You’d see something on the website, drive to the shop, and it would be sold out. The only way to know in advance was to call. Bloom’s customer-facing menu was the first in the industry to sync directly to the POS in real time, so when a product hit zero on the shelf it disappeared from the menu. Browse before you go, place a curbside pickup order from your phone, walk in or stay in your car.

Bloom Mobile · Customer Menu

The first live-inventory dispensary menu.

Cannabis retail in 2019 had a lying-menus problem. You’d see something on the website, drive to the shop, and find it sold out. The only way to know in advance was to call.

Bloom’s customer-facing menu was the first in the industry to sync directly to the POS in real time. When a product hit zero on the shelf it disappeared from the menu. Browse before you go, place a curbside pickup order from your phone, walk in or stay in your car.

4Stores
1,200+SKUs in catalog
<1sTap-to-card
Open · Closes 10pm · 0.4 mi

Fireside

// tap a category · tap a product · sold-out items are actually sold out

The iPad on the counter.

The piece every customer saw. Cart on the left, product grid on the right, “Pay Now” pinned to the bottom. Click a product to add. Click Pay Now to close out. Built around the two-thumb tablet workflow that a dispensary moves through 200 times a day.

GreenBit (incumbent)Add 20 prerolls, 1 click each
0/ 20
Bloom POSType 20, hit enter
0/ 20
Tap RACE to compare cart-add speed: GreenBit vs Bloom POS.
Recent searches

// click products to add to cart · Pay Now reveals the close-out overlay

Three flows budtenders ran every day.

Discounts, returns, and weighing flower at the counter. Three surfaces where compliance math and a thumb-friendly UI had to agree. Tap each to play with it.

Honest math under the friendly UX.

Sale #2841 · Subtotal $79.00 · 4 items

Apply Discount

$79.00$74.00
-$5.00 saved

// preset · custom $/% · BLOOM10 promo

Eight steps to refund a gram correctly.

Returns & Exchanges

Step 1 of 8
Locate Transaction
Step 01 · Locate

Pull up the original transaction

METRC requires returns to reference the originating sale. Search by ID, customer, or date.

Recent Transactions

// 8-step wizard · signature capture · resumable

A scale, a numpad, and a compliance limit.

Added 3.54g of Canna-Tsu
Canna-Tsu
7% THC · 12% CBD
72% remain
High THCHybrid
3 PACKAGES LEFT
3 PACKAGES TOTAL
3.54grams

// type 13 to trip the package warning

Every connection, every poll, every reconnect.

What hundreds of hours of reliability engineering looked like in one panel. Bloom polled label printers, receipt printers, scales, scanners, the menu sync, METRC, settings, and the internet uplink, and surfaced every state in a dropdown anchored to the iPad header. Click any disconnected channel to fire a reconnect request. The dot flips green and the timestamp resets, which is exactly the affordance budtenders needed when the receipt printer timed out at 4:20 on a Friday.

Update & Refresh Status
Label PrinterDisconnected 12m ago
MenuUpdated 5m ago
Receipt PrinterDisconnected 32m ago
METRCUpdated 10m ago
ScaleConnected 5m ago
SettingsOutdated 58m ago
ScannerConnected 10m ago
InternetDisconnected 23m ago
Polling every 5 secondsLive

// click Connect / Update on any row · live polling tick every 5 seconds

Bloom was a team effort.

Roughly twenty people across Oregon, Manila, and Brazil. Engineers, designers, operators, and field hands. Credit where it’s due.

// crew console / 16 nodes / 3 hubs

active

John Brawner, Product Lead

John Brawner

Product Lead / Oregon

John was the product manager and stayed up all night and all day doing an excellent job. He managed every team across the country and voluntarily stayed up late and woke up early to meet with Brazil and Manila and everyone else at fair times for them. He came from a programming background, so he knew what he was doing, and he was extremely detailed. He started as a project manager and then took over as product manager and was amazing at both.

Michael / on John

01 / 16

// rosterclick any face

The shops that ran Bloom liked Bloom.

  • We are so excited to work with Bloom. You guys have been really great. The system is so cute and sleek.

    Portland Best Buds dispensary storefront, exterior with the Portland Best Buds signboard featuring a green cannabis-leaf icon and a purple-and-pink mountain mural along the side wall.

    Paul Pedreira / Portland Best Buds

  • The customer service offered by the Bloom team goes above and beyond what any business could expect.

    Tangent Farmacy storefront in Oregon, metal-clad exterior with the Tangent Farmacy logo painted on the rolling door and the green entry door.

    Heather Jenson / Tangent

  • Just a reminder you can use Fireside for whatever you want to try out. I have full confidence in Bloom.

    Fireside Dispensary storefront in Oregon, shopping-plaza exterior with the Fireside Dispensary signboard above the entrance.

    Gregg Kerr / Fireside

  • The system is much more advanced than what we are used to. The auto label printing and touchscreen are so easy to use.

    Medigreen dispensary storefront, a converted craftsman bungalow with a wraparound ramp, hipped roof, large oak trees in the front yard, and a small Medigreen signboard near the entrance.

    Jim Wymore / Medigreen

We built the product for the user. Owners pick the POS.

Budtenders loved Bloom. We shadowed them, sat behind the counter, watched their hands move, and tuned every screen to the actual rhythm of selling cannabis. Hundred clicks reduced to three. The interface was the best in the market and our customers said so on the record.

Budtenders do not pick the POS. Owners do. And owners care about different things. They care about the bottom line. They care about whether their tax math is right. They care about whether the OLCC is going to flag them. They care about whether support picks up the phone when the system breaks at 4:20 on a Friday.

We had answers for all of that. We had better answers than the incumbents. But owners had been burned three times by cheap POS providers, and the trust budget for a new vendor was zero. Sales conversion at the top of the funnel was roughly 1.3 percent. 450 outbound calls produced six paying stores.

The market was looking for someone it already trusted. A better tool from a new vendor didn’t move the trust needle.

// what owners actually fear

  • POS stops working mid-rush
  • Support does not answer the phone
  • METRC misses a sale
  • OLCC compliance violation
  • Buying new hardware (already done it 3 times)

// why owners stayed with greenbits and flowhub

  • Polished sales pitch + free hardware
  • Already known in the industry
  • Promise to build features (rarely delivered)
  • Prior bad cheap-vendor experience made them risk-averse

Bloom was an internal project competing against eighty million in venture capital.

Oregon was a saturated market by 2020. 136 software vendors. 65 POS companies. 35 active POS solutions. 650 dispensary shops total. The total addressable market for an Oregon-only POS topped out at $2.3M per year.

  • GreenBits

    raised: $41M

    share: 40%

  • Biotrack

    raised: $5M

    share: 17%

  • Flowhub

    raised: $27M

    share: 15%

  • MMJMenu

    raised: $21M

    share: N/A

  • Leaf Logix

    raised: $5.9M

    share: N/A

  • POSabit

    raised: $4.4M

    share: N/A

  • Bloom

    raised: internal

    share: 2%

Then I made the call to shut it down.

“I have come to the conclusion that Bloom should be closed down. The effort being put forth is starkly different than the return we are receiving. The market is not excited about a solution to their problems. We have done an incredible job at solving all the issues this industry faces.”

From an internal memo, late 2021

Helped clients migrate. Paid what was owed. Archived the codebase. The judgment from running this informs every product call I make now.

Got a similar build? Let’s talk.

NEXT CASE STUDY

Super Crypto Time/Q3 2021 - Q4 2022

Crypto gaming guild, then news show. 223 scholars at peak.

Mega Kraken Guild (founder)

READ THE CASE STUDY