BroGear AI platform for B2B companies
Search across 60 million listings and a pipeline that turns a repair estimate into a verified parts list and ready-to-buy cart.
- 60M+
- listings in the database
- ~100 ms
- search response
- PDF → koszyk
- OCR and AI pipeline
- Nuxt
- Python
- FastAPI
- Elasticsearch
- OCR
- LLM Integration

The problem
BroGear is a B2B platform for repair shops, body shops and mechanics. Instead of hunting for parts across Allegro, eBay, Ovoko and one wholesaler after another, the customer orders everything in one place. They drop in a repair estimate from a damage-appraisal program, a file of part numbers or a photo of a handwritten note, and we find the parts.
I built three pillars. The search engine over more than 60 million listings runs on Elasticsearch, BroBot is an AI agent powered by DeepSeek, and the third module reads estimates via OCR and matches the numbers against the catalogue.
Ten sources, one order
The homepage shows the heart of the service. The customer no longer searches Allegro, eBay or Ovoko. They place one order, get one delivery and one invoice for everything.
60 million listings in about 100 ms
The search engine is the heart of the platform. The customer enters a part number or a fragment of it, and the system searches over 60 million products from various wholesalers. A dataset like that is slow to search with an ordinary database, especially with an incomplete number. I went with Elasticsearch, so a result comes back in about 100 ms.
The results show listings from different wholesalers and different quality grades, with a legend and prices underneath. Instead of everything, you see the three cheapest offers of each available type.
The agent asks instead of guessing
BroBot is our chatbot. Underneath it runs an AI agent on DeepSeek: the LLM is the brain, and the agent runs commands to gather data and fill in the gaps. It replies in any language, and on the site it also helps the customer leave an email or phone number.
Here's an example: I ask about a bumper. BroBot asks about the model generation, whether the purchase is for a business, and requests the VIN so the part is sure to fit. At the end it gives a link to the shop.
From estimate to cart
This is one of the most elaborate parts. A shop receives a repair estimate from the insurer, with part numbers on it. Sometimes it's a Eurotax file, but also a PDF, CSV, Excel or a photo of a note with handwritten numbers.
The AI agent runs OCR and reads every file. On the OCR data, DeepSeek finds the part numbers and quantities, then returns them as JSON. The agent searches Elasticsearch and, on an exact number match, adds the part to the list.
OCR makes mistakes. It can read 0 as O or I as L. So the agent also looks for variants with those substitutions. If it finds a matching part, it adds it but marks it in a different colour, so the customer can check the match themselves. Everything lands in the cart and on to checkout.
An insurer's estimate comes in as a PDF, an Excel file or a photo of a sheet. What comes out is a ready cart with matched part numbers.
What reached production
- One place to buy parts, with one delivery and one invoice instead of ten tabs.
- Search over 60M+ listings in about 100 ms thanks to Elasticsearch.
- BroBot asks about the generation and VIN, reducing the risk of a wrong match.
- The estimate turns into a cart. OCR and DeepSeek pull the numbers, and uncertain matches go to manual review.