Skip to content

About

An AI agent runs a marketplace sniping loop over Facebook Marketplace (and AutoTrader for vehicles), delivers snipe cards straight to your WhatsApp, and -- this is the point -- improves its own sweep strategy using the market's grades. You get pinged only when something is genuinely underpriced from a seller who checks out.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snipe-loop

image

An AI agent runs a marketplace sniping loop over Facebook Marketplace (and AutoTrader for vehicles), delivers snipe cards straight to your WhatsApp, and -- this is the point -- improves its own sweep strategy using the market's grades. You get pinged only when something is genuinely underpriced from a seller who checks out. Most runs you hear nothing. Silence is the product working.

One agent, one state file, one metric.

Radar_sweep_with_message_card_202607300447 Notification_cards_with_one_alert_202607300447

The metric is precision: of the alerts sent, the fraction of listings gone within 7 days. A flagged deal that vanishes fast was a real snipe. One that sits was a false alarm. Every alert is graded automatically by the market, no human labelling, which is what makes the research loop honest.

There is no P&L tracking, no positions, no bankroll in this system. It finds deals and puts them in your pocket. What you do at the meetup is your business.

The repo is deliberately kept small and only really has four files that matter:

  • prepare.py -- fixed constants, market memory, the scoring gates, and the evaluator. Zero dependencies, Python stdlib only. Not modified. The agent cannot touch this file; if it could, it would make the test easier instead of making the snipes better.
  • sweep.md -- the sweep strategy: queries, filters, cadence notes. The single file the agent edits. Everything strategic is fair game: query phrasing, categories, discount filters, time-of-day. One change per experiment, tagged, logged.
  • program.md -- baseline instructions for one agent. Point your agent (Claude with a browser tool works) here and let it go.
  • state.json -- market memory, the cleared-prices table, the alert ledger with outcomes. Plus results.tsv, one row per sweep, the experiment log you read in the morning.

the core idea

Two loops share one grading signal. The sniping loop: sweep, diff against memory, score, deliver SNIPE cards to WhatsApp. The research loop: every alert's outcome (gone within 7 days = hit) accumulates into a precision score per experiment tag; the agent proposes one change to sweep.md at a time and the evaluator says KEEP or REVERT. Same shape as autoresearch: the human writes the constraints, the agent runs experiments it would never have the patience to run, and only measurable improvement survives.

The compounding asset is the cleared table: every disappeared listing teaches the evaluator what things really clear at and how fast, which is what asking prices can't tell you. Early on the evaluator will HOLD a lot and snipe rarely -- correctly. Precision before recall, always: an alert channel that cries wolf is worth less than no channel.

quickstart

python prepare.py init Pretoria
# then point your agent at program.md and go

Alerts land in your own WhatsApp "Message Yourself" chat by default (the agent sends via web.whatsapp.com in your own browser session). Change the chat in state.json config if you want them somewhere else.

hard rules

Marketplaces are read-only, always: the agent never messages sellers, never clicks anything interactive, never touches your login. WhatsApp is the one write surface, restricted to the single configured chat. Every snipe card carries the safety note (public meetup, inspect first, EFT on collection, take someone) because the tail risk in this game is not a missed deal, it is a cash meetup gone wrong.

caveats

This assumes an agent with browser access to your own logged-in sessions; there is no scraper, no backend, no scheduler, on purpose -- the loop runs when you run it, and the drop-diff works on a daily cadence, not minutes. The evaluator needs 10 graded alerts before it will judge an experiment, so the research loop is slow by design; mutating strategy on three data points is how you optimise into noise. Marketplace and WhatsApp Web change their layouts whenever they feel like it, which will occasionally break a run; the agent is instructed to give up loudly rather than improvise quietly. And the 7-day hit window is a prior, not a law -- fast categories might deserve 4, slow ones 10 -- but it stays fixed so every experiment is comparable to every other, which is the whole trick.

About

An AI agent runs a marketplace sniping loop over Facebook Marketplace (and AutoTrader for vehicles), delivers snipe cards straight to your WhatsApp, and -- this is the point -- improves its own sweep strategy using the market's grades. You get pinged only when something is genuinely underpriced from a seller who checks out.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors