3 ms·
Technical detail for those interested: Architecture: - Frontend: Vue.js with Tailwind CSS, hosted on Vercel - Backend: Python scripts running on Oracle Cloud
by tzoSkatzo 2y ago
Technical detail for those interested:
Architecture:
- Frontend: Vue.js with Tailwind CSS, hosted on Vercel
- Backend: Python scripts running on Oracle Cloud VM
- Data refresh: Every 8 hours via cronjob
The most interesting challenge was filtering legitimate PC part listings. eBay search isn't perfect - searching for "RTX 4090" returns lots of irrelevant items like brackets, broken cards, or water cooling kits.
I solved this using custom ML classifiers for each component type (GPU/CPU/RAM/Motherboard). Each classifier is trained on labeled eBay listings to identify legitimate parts.
This automated filtering is crucial since the scanner processes thousands of listings daily across different eBay markets and languages.
One other issue, is bypassing the eBay API limitations, since I query for thousands of items I need to somehow optimize it. So far, I'm caching useful information like Shipping, but eventually if I want to add more items and/or marketplaces, I will need to either implement a key rotation or ask ebay to extend their API limits.
Currently, I scan for around 10k eBay listings along with their shipping info.