Live data from Hacker News

Show HN: I scraped 200M Shopify products to build a search engine

searchagora.com

1–10 of 44 posts

Show HN: I scraped 200M Shopify products to build a search engine

#1
Hi HN! In December I launched an MVP for Agora here: https://news.ycombinator.com/item?id=38635695

After posting, we got thousands of users and hundreds of comments with valuable feedback from the community. I spent a couple sleepless nights frantically pacing around my room trying to keep the product live and, relatively, performant. After getting some sleep, I got back to work to make the product better.

A few updates:

1. We've grown from 25 million to 200 million products on Shopify and WooCommerce. The team at WooCommerce reached out after the HN launch to help us figure out how to index their stores. Similar to Shopify, we found that there’s a public file available for all stores that use Wordpress and WooCommerce at [Base URL]/wp-json/wc/v1/products. For example, the file for Good Works Tractors is available here: https://www.goodworkstractors.com/wp-json/wc/store/v1/produc... So I bought a list of 3.5 million active WooCommerce stores on a website called BuiltWith, adapted the product data model, and started the crawler to go down the list. We've indexed around 515k stores so far.

2. We improved the search experience. We're using Mongo to host the 200 million product records. First, we switched from Mongo Atlas Search to Typesense. After testing Typesense with our product records, we found most searches to be under 200ms. We're not storing the product images which slows down the loading speed at times. This week, we set up a server using Paperspace to run SBERT embeddings on a GPU (new to the AI workflow so apologies if I get the lingo wrong). We quickly realized that the dimension size of the embeddings matters a lot here, given the size of the data set. The GPU is still running to process all 200 million records and we're about a week away from releasing AI-powered search.

3. We localized the user experience. There's now frontend and backend IP detection to only show users products that are 'based in' or 'ship to' their specific country. This 'ships to' filter (i.e. stored in all Shopify stores in the /meta.json route like https://wildfox.com/meta.json) significantly slows down the search results but we're trying to get creative on the loading process and animation. For example, we're using Revalidating on Next.JS to give several pages a 'hard coded' feel and the data refreshes every 60 seconds. https://nextjs.org/docs/app/building-your-application/data-f...

4. We got our first few paying customers. Store owners can sign up for free to track their store's performance on Agora. We validate that they are the store owner by making sure the email address and store URL match on sign up, and then send them an email verification link. They can upgrade to a subscription tier to 'verify' their products to get better placement in relevant search results. Additionally, they can pay to 'boost' products and guarantee that they'll show up in the first row of results. Given the high purchase-intent searches on Agora, I'm finding this to be the right business model.

The next challenge to solve: We need to improve the quality of products on Agora. There's a lot of resellers, dropshipping stores, and low quality images. Now, just because a product is sold on a reseller or dropshipping website, doesn't mean it's a bad product. There's a lot of exceptions and edge cases to solve. One potential solution: we're considering coming up with an "Agora Score" that takes in several factors including the image quality, store name, brand name, website SEO, etc. to tell users how trustworthy we think the product is.

I'd love any feedback or advice. I did solve my original problem of finding 'red shoes' for my wife, but inadvertently created more problems for myself. I'm loving every minute of it though. My wife jokes that everything is now "Agora this...Agora that". Open to any advice on that as well.

Show HN: I scraped 200M Shopify products to build a search engine
searchagora.com

Re: Show HN: I scraped 200M Shopify products to build a search engine

#2
> The next challenge to solve: We need to improve the quality of products on Agora. There's a lot of resellers, dropshipping stores, and low quality images.

Glad to see you’re thinking about this. The sheer prevalence of dropshipped junk on Amazon is a huge problem and I’d happily shop elsewhere if I could find a good way to discover products.

Re: Show HN: I scraped 200M Shopify products to build a search engine

#3

> The next challenge to solve: We need to improve the quality of products on Agora. There's a lot of resellers, dropshipping stores, and low quality images. Glad to see you’re thinking about this. The sheer prevalence of dropshipped junk on Amazon is a huge problem and I’d happily shop elsewhere if I could find a good way to discover products.

Absolutely. I think the key is quality over quantity. Still figuring out how to automatically remove bad products but keep the hidden gems.

Re: Show HN: I scraped 200M Shopify products to build a search engine

#4
Seems like a fun scraping project, I think you have to work on extracting more accurate categories though, for example this link does not really include snowboards for me: https://www.searchagora.com/search?query=Snowboard And the first products I clicked have rather weird descriptions, https://www.searchagora.com/products/snowboard-bd2a90aa-6808...

Maybe its my location (South Africa) but I also cannot visit the product store when I click through

Re: Show HN: I scraped 200M Shopify products to build a search engine

#5
post #4

Seems like a fun scraping project, I think you have to work on extracting more accurate categories though, for example this link does not really include snowboards for me: https://www.searchagora.com/search?query=Snowboard And the first products I clicked have rather weird descriptions, https://www.searchagora.com/products/snowboard-bd2a90aa-6808... Maybe its my location (South Africa) but I also cannot visit the pro…

Agreed. I'm currently saving a data field for 'product category' but this is defined by the store owner and currently not used for search. Trying to figure out the most reliable way to categorize products, to then make it available as a filter to narrow down the selection.

Additionally, the search for "snowboard" vs "snowboards" returns back different results which isn't ideal: since the user intent is the same. This is something I'm hoping to resolve with AI-powered search.

In the footer, I changed my location to be South Africa and a few other countries to try the same search to see what products come up. Thanks for the feedback and heads up on this!

Re: Show HN: I scraped 200M Shopify products to build a search engine

#6
Don't take this as a harsh criticism but I want to know what problem are you solving? Is this just for fun?

This is a lose-lose game. You will never be able to catch up to the providers (shopify and woocommerce and others).

What you are doing is not a search problem. It is a traffic problem of which you have little to none. There is a reason why Instagram and FB works as a driver for ecommerce products. My suggestion is to test the market before you invest too much in this area.

Re: Show HN: I scraped 200M Shopify products to build a search engine

#8

Don't take this as a harsh criticism but I want to know what problem are you solving? Is this just for fun? This is a lose-lose game. You will never be able to catch up to the providers (shopify and woocommerce and others). What you are doing is not a search problem. It is a traffic problem of which you have little to none. There is a reason why Instagram and FB works as a driver for ecommerce products. My suggestion…

Finding products that aren't on Amazon or other top sites is a problem for consumers. Google Shopping is pretty bad. Connecting buyers direct to merchants is a win and something they all want.

Every single entity that sells online is trying to boost their revenue share for direct to consumer as a mandate. Because they get more margin and they get to know their customer for ongoing marketing. The pandemic exposed many product manufacturers and brands that had such a high % in brick and mortar partners. They frantically tossed inventory onto Amazon. The only problems with that are

1) amazon tax on sales and

2) they don't get to know their customers.

Indeed aggregated job postings until it had traffic and then it became the place to post jobs.

Google was nothing against other providers until it did better search. And then they got traffic and built a solid ad product that providing bidding on effective cpc not highest bid like competitors were doing. They rewarded better peforming ads and rewarded themselves ($$$) at the same time and the rest is history.

Your thesis is not accurate. This can work. Typically though, these things require a lot of capital until they make real money. Tech costs and then marketing which is really education can be expensive.

Most users originate ecomm searches from Amazon (60%) [1]. Next highest is Google

If the search works really well though, word of mouth can be everything.

I'd probably focus on the audience that has income and would prefer to buy direct from merchants and not search and buy from Amazon which can be painful (too much crap, fakes, bad reviews, doesn't always have high end products, not always cheaper, etc). Maybe even focus on higher priced items first ($250 or $500 and up). They'll likely have better content associated with them, there's typically more margin, and there are a lot of high end products not sold on Amazon, only direct.

Hacker news has a good launch audience for this. Also probably Etsy buyers and merchants.

Not that you would be interested in this - but ecomm search for influencer sponsored products would probably do very well as a niche product. About 11% of searches originate on TikTok. Younger people are into who is hawking what for some reason lol. You could even rank most popular sponsored posts for the celebs too as a leaderboard for the biggest shills haha.

[1] https://www.insiderintelligence.com/content/online-shoppers-...

Post reply on HN