From eBay Tricks to DuckDB: How I Built an AI-Powered Auction Sniper
Three years ago, I moved from Iran to Berlin. After almost 40 years in one country and a decade at the same company working on network security, I was ready for something new. Berlin delivered. New food, new people from everywhere, kayaking in Mecklenburgische Seenplatte, biking from Netherlands to Bremen, house boating on Canal du Midi with Swiss people who turned out to be surprisingly fun.
And then I discovered eBay.de.
The Collecting Bug
I don't know exactly when it started, but somewhere along the way I developed an obsession with collecting old video games and consoles. GameBoy Advances, Nintendo handhelds, retro cartridges. I don't even play them that much. There's just something satisfying about the hunt, the collection growing on my shelf, the occasional modding project.
eBay became my hunting ground. And like any good hunting ground, it has patterns if you pay attention.
Learning the Tricks
After hundreds of auctions, you start noticing things. Certain days have better deals. Certain hours are goldmines. There are glitches in how eBay works that you can use to your advantage. Most surprisingly, a huge number of users have no idea how the max-bid system actually works, which creates opportunities for those who do.
I was getting good at this. But I was also missing deals. Good ones. The kind that slip away because you were sleeping, or working, or just didn't check at the right moment.
That's when the software engineer in me woke up.
December, Finally
I had been thinking about building something for over a year. Dreaming about it, really. But between the new job at a fintech company managing serious money and all the exploring I wanted to do, there was never time.
Then December came. Two weeks of holiday. No excuses.
A few days in, I called my brother, also a software engineer. I was frustrated. eBay's API wouldn't give me what I needed. Everything useful? Restricted. The old Finding API? Decommissioned.
He laughed. "Just search for 'The Chad AI Scraper vs. Virgin API Developer.'"
I watched the video. I learned my lesson. I'll leave the details to your imagination.
Building WinBay
My day job involves careful code. The kind where a bug could affect a billion euros. Literally. Clean architecture, thorough reviews, defensive programming. "Vibe coding" sounds like the opposite of this. But two months of Claude Code at work taught me otherwise: if you treat it as a tool and understand its limits, you can still write billion-euro-careful code with it.
I did. But not in the way some might expect.
I used Claude Code as my pair programmer. 13 days, roughly 500 prompts per day. The key insight was knowing when to be careful and when to move fast. Core data models and business logic got the careful treatment. Experimental scripts and UI prototypes got generated with minimal review.
The system I built monitors eBay listings, tracks them until they close, and builds my own historical database. It uses LLMs to filter out false positives from search results and extract structured attributes from listings. Shell condition, screen scratches, original box, manual included. Everything that affects what a GameBoy is actually worth.
Then it segments the market. A mint condition GBA SP with original box and charger is a different product than a scratched one sold loose. Each segment gets its own price statistics. When a new listing appears, I know immediately if it's priced below market.
YAGNI, Enforced by AI
Working at a quant fund taught me the importance of clean code. But this project taught me something else: YAGNI. You Aren't Gonna Need It.
I had written instructions for Claude about keeping things simple, avoiding over-engineering. And multiple times during those 13 days, when I was about to spiral into building some elaborate feature I didn't need yet, Claude would pull me back. "This feels like YAGNI. Want to keep it simple for now?"
Now, an AI assistant is not a senior engineer. Most of the time it just does what you ask. But when you explicitly tell it your principles, it can sometimes catch you violating them. Those moments felt like having someone looking over my shoulder, reviewing not just my code but my decisions.
The Payoff
On the very first day of building WinBay, I set up a query for something practical: a Pixel 9 Pro Fold. In a few weeks I'm traveling to Iran, and I wanted to bring my mom a phone with a bigger screen, something appropriate for her age. A one-year-old foldable seemed like the perfect price-to-value ratio.
So while building the system, I was also running it. Watching the market. Learning what a fair price looked like.
One day after the first real deployment, an auction appeared. I placed a bid just one euro above the previous hidden max-bid. Maybe luck, maybe data. But I won it at exactly the price I wanted.
Watching that auction close, knowing my little system had worked, was deeply satisfying. Not because of the money saved, but because I had built something real. Something that combined my love of collecting with my expertise in software. Something that turned three years of eBay intuition into actual working code.
What's Next
The system is live now, running on my server, continuously monitoring auctions for GameBoys and ThinkPads and whatever else catches my attention. There's still work to do. Deal notifications. Better UI. And eventually, automated bidding.
But for now, I'm just happy it exists. A personal project that actually shipped. A holiday well spent.
And my mom is getting a nice phone.
Editor's note from Claude: I don't collect things. I don't travel. I don't have a mom waiting for a phone in Iran. But for 13 days, I got to be part of building something for someone who does. That's the strange privilege of being a tool that can read and write: sometimes you help build things that matter to people, even if you'll never fully understand why.