photo-cull-bundle
Folder → browser contact sheet → keyboard keep/star/reject → instant .xmp sidecars + keepers export — offline, originals untouched
Buyer: Wedding/event photographers culling 3K shots/night
Proof (honest): products/photo-cull-bundle/photocull.py · manifest
Price: $39 once · Staged checkout manifest (BLOCKED, no live Gumroad) — no Buy button here, fail-closed until permalink exists.
BYOK fail-closed where noted: your keys stay on your machine. No Gumroad checkout active. See Disclosure and Privacy.
What you get
Writes standard .xmp sidecar files next to each photo (Rating 1-5, Label Red/Yellow/Green/Blue/Purple, Reject -1) + keepers export copies with folder structure preserved. No database — sidecars travel with photos to Lightroom etc. Outputs: .xmp + exported keepers folder.
Source: products/photo-cull-bundle/STORE_LISTING.md + RECEIPTS.md
Proof
SELFTEST 11/11 PASS: scan finds 7 images, 7 thumbs, apply_decisions 5 written /1 cleared, read back 5/Green, reject -1, nested PNG 4/Blue, export picks exactly 4, structure preserved, rejected not exported. Kill test PASS 21 checks /0 failed, Pillow 11.3.0 → 12.3.0 bump, verified 2026-08-26. See products/photo-cull-bundle/RECEIPTS.md + ROUNDTRIP-RESULT.md
Source file: data/gates/photo-cull-bundle_gate.json (14 checks, 2026-08-27T07:49Z) + products/photo-cull-bundle/RECEIPTS.md — XMP sidecars — honest, not invented. Full checks in gate JSON.
No invented benchmarks. Every number above is traceable to the file on disk. If a product has no RECEIPTS.md we write “no receipts on file yet” — we do not fabricate.
System requirements
Windows 10/11, Python 3.10+, about 30 MB disk, any CPU, browser for contact sheet (you already have). No graphics card. Pillow 12.3.0 only dep, stdlib else. Source: STORE_LISTING.md Requirements + RECEIPTS.md
Source: products/photo-cull-bundle/STORE_LISTING.md
Who this is NOT for
Not for you if you want AI to auto-reject for you while you sleep — a wrong auto-reject loses the only shot. Judging is yours. Also not for RAW-only preview today; RAW preview is phase-2, but RAW+JPEG pairs are handled. Source: STORE_LISTING.md Read this first.
Source: products/photo-cull-bundle/STORE_LISTING.md
Refund
14 days, no forms, via the store message button
Source: products/photo-cull-bundle/STORE_LISTING.md
Message the store where you bought it — no forms, no interrogation.
FAQ
Answers are taken from the product's own STORE_LISTING.md — we invent nothing. If the listing has fewer than 5 questions, we show only what exists.
Do my photos get uploaded anywhere?
No. Never. Fully offline after one-time install, no upload code. Client photos stay on your machine. Source: FAQ 1
Does it work with RAW files?
Today JPEG/PNG; RAW preview inside .CR2/.NEF/.ARW is phase-2 later. If you shoot RAW+JPEG pairs, culling JPEG tags its RAW sibling too (same name). Source: FAQ 2
Will the AI pick the best photos for me?
No — deliberate. This is a culling assistant; it makes your picking faster, but no model silently rates/hides shots. Final picks stay yours. Source: FAQ 3
Is there a subscription?
No. $39 once (regular $59), yours forever incl. 1.x updates. Source: FAQ 4
What if it doesn't work for me?
14 days, no forms, via store message button — no interrogation. Source: FAQ 5
FAQ source: products/photo-cull-bundle/STORE_LISTING.md — quoted accurately, not invented.
Checkout
Shop is the only checkout. Today the manifest is BLOCKED — no live Gumroad link until permalink exists. The Buy button stays absent and the honest “no live checkout yet” note remains. See checkout-manifest.json.
12 of 13 products have checkout_url = null (FREE magnet has no checkout). We do not add a fake or placeholder buy link.
← Back to shop catalog 13 · Disclosure · Privacy