At a glance
- 7Docker Compose stacks
- 24Containers
- 17Scheduled jobs
- 1,000+Listings read per scan
- 2DeepSeek models
- ~0.3¢AI cost per scan
The homelab
Server
- Deal scannerPlaywright · DeepSeek
- MonitoringPrometheus · Grafana
- DocumentsPaperless-ngx · OCR
- Home automationHome Assistant
- MediaMedia server
- CV generatorReads this site
- ContainersDockge
NAS
- Storage
- RAID 1 NAS over NFS
- Backups
- Nightly, plus immutable snapshots
- Health
- Checked every 5 min
- Alerts
- Private Telegram bot
- Access
- No open ports, VPN only
- Config
- All in Git, no secrets
The deal scanner
Saved searches by garment, brand, size and price. Once a day it reads the listings, checks the photos and sends a ranked shortlist.
{
"garment": "t-shirt",
"photo": "real",
"graphic": "large illustration",
"defects": [],
"condition": "like new",
"confidence": "high"
}- No visible defects
- Discount on the new price
- Discount on the Vinted median
- Seller rating
Context design
The quality of the picks came from choosing what each model sees, and in which form.
- The photos
- Thumbnails, five listings per call
- The listing
- Title, brand, size
- Declared condition
- The checklist
- Garment type, defects, graphic
- Real or catalogue photo
DeepSeek eye writes a report per listing
- The item
- Title, brand, size, condition
- Eye report on the photos
- The price
- Total with shipping
- Gap to the Vinted median
- The seller
- Rating and review count
- Their own description
- The buyer
- Body measurements
- Notes on taste and fit
DeepSeek judge ranks and comments
Decisions
- Eye and judge
- Flash sees photos cheaply, Pro reasons better but is text only.
- Rules in code
- Brand limits and visible wear are enforced by the script, not the prompt.
- Measured, then chosen
- Same 172 listings run through Claude and DeepSeek: 8 of 10 picks matched.
- Spend cap
- Token-based cost tracking, a monthly limit, cheapest offers as fallback.
Who did what
Claude Code Claude Opus 5.5
- Code and configuration
- Server operations
- Scripts, timers, dashboards
Me
- The context each model receives
- What reaches it, and in which form
- The eye and judge design
- Ranking criteria
- Review of every result