I kept catching myself scrolling down their idiotic feed and wondering what the hell I was doing. Mindless dreck, all of it. Yet I still get cold inbound from it that turns into business, so I can't just abandon the platform entirely.
I wrote a ~50 LOC browser extension that always redirects away from the feed to your profile. Works great, sideload and forget.
I run Track & Trace Tools[1], an extension directly targeted at the legal cannabis industry's main compliance platform Metrc.
Since it's targeted at businesses and not consumers, word of mouth has been powerful for me. I've rapidly grown in the state of Michigan thanks to a few very enthusiastic operators.
I also went on a slate of podcasts last year to talk about (read: promote) my product. Podcast hosts are always looking for guests, and most of them didn't cost me a thing.
It's also been helpful to be a Google Developer Expert for web extensions, the Chrome team interviewed me and that gave me a platform to talk about what I was working on[2].
Creator here. A check automatically runs every hour, and if there are any changes detected, a badge appears over the extension icon. I decided anything more than that was too invasive.
I've been self-employed for nearly two years. I work on a Chrome extension [1] that is used by a significant fraction of the US legal cannabis industry for compliance.
2/3 of my time is spent on consulting projects, which pay better, and the rest is spent maintaining the platform. At the moment, the platform is self-sustaining and the revenue from it is growing fast. I work some of the largest companies in the industry, which is great for network building. The flexibility in schedule it offers is terrific, and I have no need to fundraise or hire.
A big factor in my industry was scanning damaged barcodes, which was frequent since they're attached to indoor/outdoor plants and physical boxes that get moved around. They get weathered and scraped.
If there's even slight damage to the barcode, forget the browser scanners, you can scan that thing until the next Olympics and not get a read. HID scanners don't skip a beat.
Native apps use Android/iOS scanning libraries that are much more effective than the in-browser options. They are still nowhere near as good as hardware scanners.
The initial idea involved a low-friction onboarding that didn't require any extra hardware - "Just use your phone to scan!". Stupid.
Turns out that workers would rather manually key in the last 5 numbers of a barcode to look it up than screw around with a poorly behaved camera. For the current version of the platform, it's either dedicated hardware scanning or manual ID search, the phone scanning wastes everybody's time.
Resolution is certainly a major factor in the scanning acuity. The browser scanning issue is somewhat paradoxical: getting a clear and high-resolution image of the barcode improves scan accuracy, but to achieve this, the camera needs to get so close to the barcode that the autofocus starts to freak out and blur the barcode. Since the browser scanner is using the browser camera API, there's no good mechanism to control the autofocus. It's enough to make you want to throw your phone in the garbage.
QR codes are very easy to scan in-browser, but 1D barcodes are significantly more challenging. ~75% of the cannabis industry deals with Metrc, which forces companies to place 1D Code-128 barcode tags on everything they grow or manufacture. As a result, I've spent a lot of time investigating ways to scan these barcodes with a phone camera in a cross-browser webpage.
Ultimately, after much experimentation, the unavoidable conclusion is that the optical scanning solutions are junk. Connecting a crappy $20 HID bluetooth barcode scanner to a phone is so crazily better at scanning a 1D barcode than even the most massaged optical barcode scanning libraries. Industry workers that deal with these barcodes don't even bother with phone camera scanning, it's way too slow and temperamental.
ChatGPT for Google was #1 on HN earlier this year. Check out the GitHub repo now: that person sold the extension.
I had a small side project extension, ~25,000 installs & free to use. I got enough inbound interest trying to "help me monetize" that I thought it would be worth cataloguing all the different unsavory avenues: https://mattfrisbie.substack.com/p/the-ugly-business-of-mone...
My favorite Metrc API wart was submitting harvests when their API servers were bogged down. Sometimes, your "create harvest" request would get stuck in a transaction pool that wouldn't timeout for 10 minutes. You'd have to wait the full 10 minutes to see if it succeeded or not because setting a shorter timeout would risk double-submitting the harvest, thereby completely screwing up that cannabis business's compliance data.