Banners, Buttons, Breadcrumbs. There are many UI elements that consumers are familiar with and know how to use, but what happens when you're building a first of its kind application in a restricted industry? What happens when you have to build a product for a consumer good that millions of Americans are just being introduced to, while also building for consumers that have been using this product for a lifetime? Navigating these restrictions while optimizing conversion and retention is extremely challenging. Riding this fine line has taught me a lot about building good software.
A lot of consumers have in-depth knowledge of cannabis. They know the different chemical compounds, strain types, extraction methods, consumption types, and more. They know about crystalline, badder, budder, rosin, sauce, terpenes, BHO extraction, THC, THCA, CBD, CBG, edibles doses, and more. These consumers know what they want, and they need all these data points to make their purchasing decisions. But with new states legalizing cannabis every election cycle, new consumers are smoking cannabis for the first time (or for the first time since their college years). These consumers have no idea what CBG or terpenes are and they’re thrown off by strain names like "Gorilla Glue" and "XJ-13".
When building a product like Uber Eats, the product is pretty simple. People are buying burgers and sushi. They might need to know calories or allergens, but it's something everyone understands. Filters, business information, and product details are straightforward. But with cannabis, there's a lot of new data points. Building the right surface that is optimized for both newcomers and power users is a tough problem that will force you outside your comfort zone.
The second layer of complexity comes in the form of a new legal industry that is in its infancy. Regulations are constantly changing, and vary state to state. There's a few different ways cannabis businesses operate, and this matrix gets complicated pretty quickly. It's our job to remove that complexity for users while still connecting them to the right business.
I won't go too deep into this (it's a whole post on its own), but I do want to briefly walk through some of the complexity to express why this is such an interesting problem space to be in. There's a matrix of different business types; we’ll go through the first couple dimensions for this post.
When you look at your favorite Korean restaurant on Google Maps and you see an option for "Order online", you figure you could place an order for pickup or have it delivered. This isn't the case in the cannabis industry. Instead we have storefront listings with physical locations and separate delivery listings with absolutely no physical location. This dichotomy between cannabis listings and restaurant listings isn't something users know about and it's our job to educate them in the app. To further add complexity, industry maturation and investment has spawned larger businesses that have both storefront locations and delivery services. This leaves us with two listings for the same business in a given region - one for delivery and one for their physical storefront.
Okay, so deliveries and storefronts are separate. Ready for dimension 2? Some states only have medical listings, while other states have legal recreational listings for all adults 21+. But... in states that have recreational listings, there's still a thriving medical market. Some listings on our platform have medical licenses and only make medical transactions with customers who hold valid medical doctor recommendations, some listings only have a recreational adult use license who can only make recreational non-medical transactions (the taxes are different), and then there's another group of listings that have both license types. This means they can service both medical customers and recreational customers. Again, like the delivery vs storefront problem, it's our job here to make sure we remove the complexity for users.
Time for app store policies. Exciting stuff. This is one of the hardest problems we face, and it really pushes product people to think outside the box. Cannabis legalization is blazing forward, but it remains illegal at a federal level. This means Apple and Google won't allow you to have online ordering in your native apps. Google allows you to mention online ordering and to kick users out to the web. So you can easily educate users with well placed CTAs that open their browsers to place orders. But on iOS, you can't kick out to the web, nor can you have a copy that explains this to users. No CTAs, no add to cart buttons, no mention of the word "order". These restrictions are constantly evolving and really force you to experiment with different creative treatments to help your native app users to be successful in their goal of purchasing cannabis.
Cannabis is a mysterious and beautiful flower that we still don’t know everything about. And making software for it is just the same. We’re constantly pushing the boundaries to power a safe and accessible cannabis marketplace. There are similar apps that you can look to for inspiration (Uber Eats, Google Maps, Amazon), but at the end of the day we are trailblazing this path and figuring out what a cannabis marketplace looks like. Each feature you ship is defining how users will shop and browse cannabis for the years to come.