GunCrawler: creation, death, rebirth
The story of how I built and then abandoned my firearm shopping assistant, GunCrawler, and how I plan to reboot it
Way back in 2013, I was doing some online gun shopping and I was getting annoyed by how laborious the process was.
Even if I knew exactly what product I wanted, the process for finding the best price on a gun or accessory was ridiculous - google the name of the product (if Iâm lucky, I have a UPC or MPN), click through the first result, note the price, click back, click the second result, note the price, click backâŚ
Even in 2013 this was antiquated and was more like shopping in 2003. In 2013 we were all happily shopping on Amazon - the unified interface made it oh so easy to quickly find the best product for the task and do comparison shopping. It helped that the reviews were trustworthy and the products werenât counterfeit Chinese garbage!
Scratching my own itch
As a programmer, I knew I had to build a tool to make this process easier. Even if nobody else would use it, I certainly would! So I got to work, chipping away at the problem with the precious hours I could invest after my day job and family life, and eventually, over a year later, I had a functional prototype I called GunCrawler. Hereâs what the landing page looked like:

And hereâs an example product listing page:

(This example doesnât have multiple vendors listed for this product, but if they were, each would be listed in the âVendor detailsâ table, and the green price button at the top would show the lowest price and link to that vendorâs page)
Pretty basic, and it could definitely use a designerâs touch with the basic Bootstrap theming and the cluttered product images, wasted whitespace and so on, but the core functionality was there and it was good enough for an MVP.
I really should have launched it at this point, however at the time I knew nothing about startups, so I thought more work needed to be done because there was already SlickGuns (since renamed Gun.deals) already doing a similar thing. I felt I needed something extra to differentiate myself from them.
What I decided I needed was a powerful search feature, which then led me to feel the need for collaborative product data editing (possibly wiki-style).
Search
To implement search I first added Elasticsearch, which enabled text-based search. Elasticsearch is a clever tool - it handles misspellings, word stemming (searching for âreloadingâ will return results that contain âreload,â âreloader,â etc.), âdid you meanâ suggestions, things like that.
One important feature it supports that bogged me down though is facets. If youâve ever browsed almost any online shopping site ever, youâve probably seen filters dynamically appear that are relevant to what youâre searching for:

Picture courtesy Searchkick documentation
To enable this feature you have to tag your products. However, due to its simplicity, tagging is a very blunt tool. Letâs say I have a tag 7.62x39mm. If someone searches for that or clicks on that tag, what should I show? There is 7.62x39mm ammunition, but also firearms in that caliber (AK-47, SKS, vz. 58 to name a few). It would be confusing to have cartridge filters like steel-case (vs. brass-case) alongside filters for firearms (say fixed-stock vs folding-stock).
Further, if someone were to search on the AK-47 tag, how do I differentiate AK-47 complete firearms from parts? Do I need to introduce a firearm label and a part label? But if Iâm labeling a part, like a barrel, it would be silly to require both barrel and part labels together - part should be implied from the fact that a barrel is-a part.
Collaboration
As I began to get bogged down in this data modeling problem, I realized it was going to be a whole lot of work for me to do this by myself. Every new product added to the site would need to be properly tagged. Thatâs a whole lot of work considering many firearm retail websites have from thousands to tens of thousands of products.
Thatâs not even considering the fact that while I enjoy firearms myself, Iâm far from an expert, so my solo tagging attempt would undoubtedly be sub-optimal. Additionally, itâs guaranteed that Iâd make mistakes that would somehow need to be found and corrected.
I also havenât even gotten into the data ingestion process (how product data from across the web is gathered), which was fed by a bunch of scrapers that I hand-wrote for various websites, which, due to the nature of screen-scraping were eventually guaranteed to introduce dirty data that would need correction.
The obvious solution I latched on for all of the above is crowdsourcing the problem using a collaborative editing solution, in the style of a wiki - i.e. letting any user add, modify, or delete tags.
Unfortunately, thatâs a lot of work to implement - on top of needing a well-built UI for editing, you need version control, conflict resolution, possibly a reputation system to prevent abuse (both from the ill-intentioned as well as well-intentioned).
Double unfortunately, both in 2013 as well as today, there arenât any out-of-the-box solutions for adding this to a web app using a library or framework. I found libraries that added Wikipedia-style collaboration around rich text, but what I needed was for individual data fields. The closest thing today would be to spin up a Wikidata clone using Wikibase, but that would require me to build a website around their database model, which for various reasons would be difficult and restrictive.

Screenshot of Wikidataâs page on the venerable AK-47 (Q37116)
Burnout and fade away
Sadly the combination of having to build a complex collaborative editor (I hate UI-heavy work) and also solve the data modeling problems sapped away my energy to work on the project; I spent less and less time working on it, so it slowly withered away, never to see the light of day. đŠ
A very unfortunate outcome for the many hours that I poured into it. Looking back, the most important lesson I learned is to launch your product no matter what. That means before you think itâs ready. Even if it sucks and nobody uses it, at least you took your shot - itâs better than never knowing. Plus I think if I got even a handful of users that could have reignited my passion to finish it properly.
That lesson is why Iâm restarting this process with a newsletter from the very beginning - I need your help dear reader to help guide me as we build the tools that will improve gun shopping for all of us!
Reboot and expanded vision
Although I let GunCrawler fall into dormancy for seven long years, it never truly left my mind. Occasionally this puzzle would rise to the fore of my thoughts, and Iâd dust it off and turn it around in my mind, but not make any progress solving it.
Itâs not until recently that Iâve stumbled on some elegant new programming tools (actually ânew old stockâ would be more accurate) that Iâm confident are going to finally cut the Gordian knot of this puzzle.
This new approach is affirming that my instincts around a collaborative, rich data model with powerful querying (search) was correct.
Itâs going to take a bit of time to get a working prototype built, as Iâm currently winding down my work on another startup and still in research/learning mode for this project (since these new tools require new knowledge), but Iâm really excited to share progress updates with you as I proceed.
In exchange, youâll be the first to test out these new tools! In particular, besides a basic product search, I anticipate the new data model is going to enable a couple powerful new features that I think youâll find useful -
Parts picker for gun builds - think PCPartPicker for AR-15s and beyond! Youâll be able group products together arbitrarily into âbuildsâ and share; that might be for an AR-15 youâre building, or for an IFAK youâre putting together. Youâll be able to compare to what other people are building, get and share feedback, as well as get modification suggestions from the website itself.
Optimized cross-vendor, âbig pictureâ shopping (especially good for ammo shopping!). Imagine you have a list of parts youâre looking for; some parts are cheapest at Vendor A, some at Vendor B, some at Vendor C, some at Vendor D. You may not actually be better off buying the âlowest priceâ at each separate vendor after you take tax and shipping fees into consideration. This is especially obvious when youâre shopping for ammunition as the shipping fees can massively skew the final price! Figuring this out manually would require trying hundreds or even thousands of different combinations of products between vendors. Instead, weâll provide an automated solution.
I have other ideas of course, but thatâs what I thought Iâd share for now. đ¤Ť
Letâs get to work!
Thereâs a lot of work to be done, but Iâm excited to get after it. And it couldnât come at a better time. As industries have continued to consolidate around singular big players (Amazon for retail shopping, YouTube for videos, etc.), the treatment of guns as taboo on all these platforms has only gotten worse.
YouTube of course is well-known for demonetizing gun videos and even deleting videos as well as whole channels of popular creators.
Amazon meanwhile tolerates some gun accessories, but that noose continues to tighten - in fact I wrote an article for The Truth About Guns six months ago about how Amazon suddenly purged hundreds of gun accessories from their website that dared mention the unutterable words âAR-15â or âAK-47â. I expect the list of gun-related products will continue to shrink on Amazon rather than expand.

While itâs frustrating that gun owners are continually excluded from the popular platforms and forced to build our own solutions, the flip-side of that is that the big platforms are also excluding themselves from our market segment. That gives us a big opportunity to innovate without interference from the big players sucking all the oxygen out of the room. Put another way, while itâs inconvenient we canât buy most gun accessories on Amazon, the upshot is dangerous Chinese counterfeits and AmazonBasics clones wonât be able to dominate the market.
I think we have the chance to build something really special together here, and Iâm looking forward to sharing updates with you and also hearing back from you! Please feel free to comment on my posts here or contact me privately at _@abevoelker.com.
Lastly, if you have any friends that would be interested in a better solution for firearm-related shopping, please share this with them! đ
Create your profile
Only paying subscribers can comment on this post
Check your email
For your security, we need to re-authenticate you.
Click the link we sent to , or click here to log in.