Introducing: Cannoisseur—The Go-To Social Network for Cannabis Budtenders
Tags: swift, firebase, ios
Published: 2023-08-31 03:17:28

## The Problem

Let's be real: selling cannabis products in Florida isn't like selling anything else. For starters, the products are sealed in jars you can't see through. That's a big hurdle when patients start asking, "What's this one look like?" or "Do you have a favorite? What's it smell or taste like?" Let's not even get into the new products popping up every week.

And here's another kicker: the team on the floor changes pretty often. New hires, seasonal staff—you name it. So, keeping everyone in the loop about our ever-changing product line? It's no walk in the park.

## A Lightbulb Moment: Why Not an App?

One busy afternoon, it just clicked: What if I can create an app that lets us all share what we know about each product? A digital hangout, just for my coworkers, to swap notes, pics, and even questions. So, I floated the idea by the team, and guess what? They were all for it. That's how Cannoisseur was born. 

## What Sets Cannoisseur Apart?

Learning about a specific dispensary's products is often hit or miss. Because let's face it, sampling every single product isn't an option. But what if we could pool our personal experiences? That's what Cannoisseur is all about. It's a closed network—no random people, just my coworkers—where we can drop reviews, share photos, and ask each other questions.

## Who's This For, Anyway?

At its core, Cannoisseur is for my team—my incredible budtenders who are the frontline in medical cannabis care. This app is my way of giving them the resources they need to not only excel in their roles but also genuinely enjoy what they do. With the help of Cannoisseur, they can confidently share their expertise with patients about the products we offer. It's more than just an app; it's a way to uplift the team, make their roles more engaging, and help them offer better guidance to our patients. I’m not just building a social network here; the goal is creating a community of empowered budtenders.

## Tech Stuff

Let's talk about the tech stack: SwiftUI and Firebase. I had no previous experience with SwiftUI. I recently began learning programming by studying Java! With the help of some awesome people in the iOS dev community, I went from not knowing what a 'View' was to designing intricate UI elements, mastering stacks and alignments, and incorporating a backend!

Building this app was a real deep dive into SwiftUI and programming in general. Let's just say, I've had my fair share of "aha" moments and the occasional mental breakdown. But hey, it's been an absolute blast watching the app take shape, one view at a time.

Now, let's talk databases, or more specifically, NoSQL with Firebase. This was another first for me. If you had asked me a few months ago what NoSQL was, I would've given you a blank stare. But here we are—I've set up and managed a NoSQL database, and honestly, it's not as intimidating as it sounds. I've had to wrap my head around collections, documents, and integrating all of that with Swift. The real pain? Implementing the categories and subcategories. That involved some serious researching, a bunch of trial and error, and eventually, asking Twitter for help. I ended up getting a lot of super helpful responses to my tweet and meeting some brilliant people in the process. Totally worth the anxiety I felt about being vulnerable online.


![A Tweet asking for help with a category/subcategory data structure](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/28tfjt92yt2xwbirrvog.png)


![Twitter thread with the solution to the category/subcategory data structure issue](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5y6aspkb9j5y63o143wb.png)

I've also tackled review filtering with custom database queries. That feature was another fun puzzle to solve, figuring out how to make it user-friendly and super functional at the same time. It's still a work-in-progress as I add brand and subcategory filtering, but I'm learning a ton and making a lot of progress.

So yeah, Cannoisseur is not just an app; it's a testament to learning, grinding, and a lot of hours spent coding. It's a robust platform that's been crafted with love, sweat, and maybe just a few tears. But the most exciting part? This is just the beginning. Who knows what features or challenges lie ahead? But one thing's for sure: I'm pumped to take them on.