Snipe - Auction Sniping & Listing Intelligence https://circuitforge.tech/software/snipe
Find a file
pyr0ball 6ec0f957b9 feat(snipe): auction support + easter eggs (Konami, The Steal, de-emphasis)
Auction metadata:
- Listing model gains buying_format + ends_at fields
- Migration 002 adds columns to existing databases
- scraper.py: parse s-item__time-left → absolute ends_at ISO timestamp
- normaliser.py: extract buyingOptions + itemEndDate from Browse API
- store.py: save/get updated for new fields

Easter eggs (app/ui/components/easter_eggs.py):
- Konami code detector (JS → URL param → Streamlit rerun)
- Web Audio API snipe call synthesis, gated behind sidebar checkbox
  (disabled by default for safety/accessibility)
- "The Steal" gold shimmer: trust ≥ 90, price 15–30% below market,
  no suspicious_price flag
- Auction de-emphasis: soft caption when > 1h remaining

UI updates:
- listing_row: steal banner + auction notice per row
- Search: inject CSS, check snipe mode, "Ending soon" sort option,
  pass market_price from comp cache to row renderer
- app.py: Konami detector + audio enable/disable sidebar toggle

Tests: 22 new tests (72 total, all green)
2026-03-25 14:27:02 -07:00
app feat(snipe): auction support + easter eggs (Konami, The Steal, de-emphasis) 2026-03-25 14:27:02 -07:00
tests feat(snipe): auction support + easter eggs (Konami, The Steal, de-emphasis) 2026-03-25 14:27:02 -07:00
.env.example feat: add scraper adapter with auto-detect fallback and partial score logging 2026-03-25 14:12:29 -07:00
.gitignore feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
compose.override.yml feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
compose.yml feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
Dockerfile feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
LICENSE Initial commit 2026-03-10 20:52:28 -07:00
manage.sh feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
PRIVACY.md feat: Snipe MVP v0.1 — eBay trust scorer with faceted filter UI 2026-03-25 13:09:49 -07:00
pyproject.toml feat: add scraper adapter with auto-detect fallback and partial score logging 2026-03-25 14:12:29 -07:00
README.md feat: Snipe MVP v0.1 — eBay trust scorer with faceted filter UI 2026-03-25 13:09:49 -07:00

Snipe — Auction Sniping & Bid Management

Part of the Circuit Forge LLC "AI for the tasks you hate most" suite.

Status: Backlog — not yet started. Peregrine must prove the model first.

What it does

Snipe manages online auction participation: monitoring listings across platforms, scheduling last-second bids, tracking price history to avoid overpaying, and managing the post-win logistics (payment, shipping coordination, provenance documentation for antiques).

The name is the origin of the word "sniping" — common snipes are notoriously elusive birds, secretive and camouflaged, that flush suddenly from cover. Shooting one required extreme patience, stillness, and a precise last-second shot. That's the auction strategy.

Primary platforms

  • CT Bids — Connecticut state surplus and municipal auctions
  • GovPlanet / IronPlanet — government surplus equipment
  • AuctionZip — antique auction house aggregator (1,000+ houses)
  • Invaluable / LiveAuctioneers — fine art and antiques
  • Bidsquare — antiques and collectibles
  • eBay — general + collectibles
  • HiBid — estate auctions
  • Proxibid — industrial and collector auctions

Why it's hard

Online auctions are frustrating because:

  • Winning requires being present at the exact closing moment — sometimes 2 AM
  • Platforms vary wildly: some allow proxy bids, some don't; closing times extend on activity
  • Price history is hidden — you don't know if an item is underpriced or a trap
  • Shipping logistics for large / fragile antiques require coordination with auction house
  • Provenance documentation is inconsistent across auction houses

Core pipeline

Configure search (categories, keywords, platforms, max price, location)
→ Monitor listings → Alert on matching items
→ Human review: approve or skip
→ Price research: comparable sales history, condition assessment via photos
→ Schedule snipe bid (configurable: X seconds before close, Y% above current)
→ Execute bid → Monitor for counter-bid (soft-close extension handling)
→ Win notification → Payment + shipping coordination workflow
→ Provenance documentation for antiques

Bidding strategy engine

  • Hard snipe: submit bid N seconds before close (default: 8s)
  • Soft-close handling: detect if platform extends on last-minute bids; adjust strategy
  • Proxy ladder: set max and let the engine bid in increments, reserve snipe for final window
  • Reserve detection: identify likely reserve price from bid history patterns
  • Comparable sales: pull recent auction results for same/similar items across platforms

Post-win workflow

  1. Payment method routing (platform-specific: CC, wire, check)
  2. Shipping quote requests to approved carriers (for freight / large items)
  3. Condition report request from auction house
  4. Provenance packet generation (for antiques / fine art resale or insurance)
  5. Add to inventory (for dealers / collectors tracking portfolio value)

Product code (license key)

CFG-SNPE-XXXX-XXXX-XXXX

Tech notes

  • Shared circuitforge-core scaffold
  • Platform adapters: AuctionZip, Invaluable, HiBid, eBay, CT Bids (Playwright + API where available)
  • Bid execution: Playwright automation with precise timing (NTP-synchronized)
  • Soft-close detection: platform-specific rules engine
  • Comparable sales: scrape completed auctions, normalize by condition/provenance
  • Vision module: condition assessment from listing photos (moondream2 / Claude vision)
  • Shipping quote integration: uShip API for freight, FedEx / UPS for parcel