A dedicated AI coin-hunting machine · pennies only · 1856–2026

PENNY HUNTER

One coin size. One weight class. Four faces to know — Flying Eagle, Indian Head, Wheat, Lincoln. Numi v4 sorts every denomination at 250 coins/hour. Penny Hunter does one coin, and uses that freedom to go 10–20× faster.

3,000+
coins/hr target
1
denomination
$0.05
AI cost / 1,000
0
flippers · 0 funnels
Build document

What Penny Hunter is, and what it refuses to be

A dedicated copper-era coin hunting machine. Not a general sorter — a specialist. It reads pennies, decides in one look whenever it can, and hands the rare ones (Flying Eagle, Indian Head, 1943 bronze, 1909-S VDB, 1955 DDO, 1969-S DDO, 1972 DDO, 1970-S small date, 1982-D small date copper, 1960-D small-date-over-large) to a human instead of guessing. Built from the Numi v4 playbook — its wins kept, its documented mistakes deleted.

The series

Four faces, one coin size

Every penny that ever crosses the rail is one of these. Hover a coin to turn it over — the reverse is where a machine's second camera earns its keep.

Obverse of an 1858 Flying Eagle cent: eagle in flight, UNITED STATES OF AMERICA, date below
Reverse of a Flying Eagle cent: ONE CENT in a wreath
1856 – 1858

Flying Eagle

1856 was pattern-only (~1,000 struck); the series ran three years. 88% copper, 12% nickel, 4.67 g — the weight alone gives it away.

Obverse of an 1860 Indian Head cent: Liberty in a feathered headdress, date below
Reverse of an 1860 Indian Head cent: oak wreath with shield and ONE CENT
1859 – 1909

Indian Head

The machine reads the date and mint and hands it to a human. Keys: 1877 · 1908-S · 1909-S, plus the 1873 open/closed 3.

Obverse of a 1909 Lincoln wheat cent: Lincoln bust, LIBERTY, date
Wheat-stalk reverse of a Lincoln cent: ONE CENT between two wheat ears, V.D.B. at the bottom
1909 – 1958

Lincoln Wheat

The wheat back, with V.D.B. in tiny letters below the stalks — that's the 1909, and the S-mint version is the holy grail.

Obverse of a 1943 zinc-coated steel Lincoln cent
Reverse of a 1943 steel Lincoln cent: wheat stalks and ONE CENT
1943

1943 Steel

A magnet catches every steel cent in milliseconds. The coin it also finds: a magnetic-free 3.11 g 1943 — a $150,000 bronze error, caught by physics before any camera fires.

Coin photography: Smithsonian National Numismatic Collection (public domain); 1984 cent photos via Wikimedia Commons (CC BY-SA 3.0). Machine's-eye view — the stage sees these same faces, one every fraction of a second.

01 — The asymmetry

Why pennies-only makes everything easier and faster

Numi v4 pays a generalist tax on every coin: four denominations, four sizes, four weights, four edge configurations, a full licensed catalogue in the prompt, and a lighting/camera geometry that has to work for a dime and a half dollar. Penny Hunter pays none of it.

Physics

One size. One weight class.

19.05 mm. Bronze 3.11 g · zinc 2.50 g · steel 2.70 g. Every coin clears the same gap, lands at the same distance from the lens, and can be verified by a fixed weight window in milliseconds — composition becomes a sensor reading, not an AI question.

Vision

One focus plane, forever.

Numi's lighting swing problem (brightness varying ~10× because coins land at different distances) shrinks to one diameter. Locked focal distance, locked LED geometry, metered once, calibrated forever.

Prompt size

One series family in context.

The AI only ever sees pennies: 4 series, 170 years, ~40 date/mint/variety combinations that matter. Smaller context = faster tokens, cheaper calls, fewer hallucinations — the model can hold the entire penny key-date table in-context instead of retrieving.

Mechanics

One chute geometry.

No bridging from mixed diameters, no mis-set rails, no funnel expecting dimes. A single-diameter wheel sorter (Numi v5's own plan) becomes trivial when every coin is the same disc.

The point isn't that pennies are easy. It's that the machine only has to be excellent at one thing — which is precisely the trade Numi, sorting everything, cannot make.

02 — The playbook

Numi v4 teardown: keep, cut, and what it actually costs

Justin Hinh's v4 is the honest engineering document this machine is built from — every number below is from his own build notes and logs. Where his lessons point, Penny Hunter moves.

Numi v4 numberRealityPenny Hunter answer
250 coins/hour (~14 s/coin)Started at 60 s/coin; weeks of work; gains came from overlapping steps3,000+/hr target — overlap everything, never stop for the AI
$0.25 / 1,000 coinsGemini Flash vision call per coin, two images≤$0.05 / 1,000 — local net pre-screen, cloud only on the 2–5% that need it
1 camera + flipper armFlipper is the #1 jam source; user attends ~hourly2 cameras, zero flippers — both faces shot at once
Laser rangefinder hopperStops feeding at 90 mm, restarts at 108 mm (hysteresis gap)Keep the idea; hysteresis band avoids motor stutter
19-LED ring, 5 MP, 1600×1200Brightness swings ~10× near-to-far; lettering blows out or dates vanishFixed diameter = one flash exposure, metered per station, polarized
Browser tab = master loop"If the tab dies, the machine stops mid-coin"Keep the dashboard; move the loop on-board with a watchdog
Funnel + un-jam shake routine"Writing a function to un-jam your machine is a sign you designed the wrong machine"Delete the funnel: wheel/rail feed, no bridging
Plain-English sort rules in a text fileChange behavior without touching the robot. "The single thing I am most convinced about after four versions."Adopt wholesale — every penny rule below is written that way
Five bins: Dump / Save / Inspect / Misc / RetryCarousel counts magnets to know position; stops if it loses countSame logic + a dedicated Copper bin (pre-1982) and 1943-candidate bin
Keep

The AI reads a photo like a dealer reads a coin

Rules in plain English, verdict as JSON: series, year, mint mark, tags, action. No dataset, no training, no retraining. Add "pull 1943 steel" as a sentence.

Keep

Overlap the pipeline

Numi reloads the hopper while the AI is still thinking about the previous coin. Penny Hunter overlaps the next four: frame capture, weight read, AI call, and carousel pre-position all run behind the current coin.

Cut

Any moving part that touches a coin

Flipper jams, funnels bridge. Contact-free is the goal: coins ride a glass window over a camera, gravity and vibration do the transport.

Cut

Stop-and-shoot

Numi halts the coin under the lens. A going concern at 250/hr means every save: shoot on the fly at a target line — strobe + global-shutter trigger, no dwell time.

03 — The target set

Everything the machine must never throw away

Small cents, 1856 → today. Anything that isn't 19 mm dies at the feed — a large cent or half cent physically cannot enter the machine, so geometry is already a free filter. What's left is four series and about forty decisions.

SeriesYearsComposition / weightWhat matters
Flying Eagle1856–185888% Cu / 12% Ni — 4.67 g1856 (~$6,000+), 1858/7 overdate, 1857/8. Short series, tiny numbers — a single one pays for the machine.
Indian Head1859–19091859–64 copper-nickel 4.67 g · 1864–1909 bronze 3.11 gKeys: 1877, 1873 (open/closed 3), 1869/9, 1908-S, 1909-S. Acorn/leaf reverse detail = grading driver.
Lincoln Wheat1909–1958Bronze 3.11 g · 1943 2.70 g steel · 1944–46 shell-case brass 3.11 g1909-S VDB, 1914-D, 1922 no-D, 1931-S, 1955 DDO, 1943 bronze. The whole reason to build this machine.
Lincoln Memorial1959–20081959–82 copper 3.11 g · 1982 split · 1982–2008 zinc 2.50 g1960 small date, 1960-D small-over-large, 1969-S DDO, 1970-S small date, 1972 DDO, 1982-D small-date copper.
Shield / 2009 reverses2009–todayCopper-plated zinc 2.50 gFace value, with the rare exception of mint errors. The Dump bin lives here.

The sensor matrix — composition without a single photo

A load cell plus a Hall-effect sensor resolves composition before the camera even fires. Vision then only has to read what sensors can't: date, mint mark, variety, condition.

ReadingWeightMagnetVerdict
copper-nickel4.67 gnoFlying Eagle · 1859–64 Indian Head
bronze3.11 gnoWheat · 1864–1909 Indian · Memorial ≤1982 — the copper bin
steel2.70 gSTICKS1943 zinc-steel — instantly identified, magnetically, 100% of the time
zinc2.50 gno1982+ copper-plated zinc — face value

The free jackpot: a coin dated 1943 that is not magnetic and weighs 3.11 g is a 1943 bronze cent — a $150,000–300,000 error coin. No AI, no photo, no doubt: if year==1943 and !magnetic and weight≈3.11 → SAVE. Weight and magnetism are the two facts the machine must trust over any image.

The hunt list

CoinApprox. survivedValue (circulated → MS)How the machine catches it
1943 bronze~15–20 known$150k – $300k+weight + magnet (instant, certainty)
1909-S VDB484,000$700 – $2,500+obverse date+S · reverse VDB letters
1955 DDO~20,000$1,000 – $3,000+obverse doubling (date + LIBERTY) — deep-dive scan
1969-S DDO~3,000 est.$25,000 – $100,000+obverse doubling; must separate from machine doubling
1982-D small date copperunknown, handfuls$10,000 – $20,000+weight says copper + vision says small date + D mint — 3-way AND
1922 no-D (strong rev.)unknown error$500 – $12,000+date 1922 with no mint mark + reverse strength
1914-D1,193,000$150 – $1,500+date + mint, trivial for the reader, brutal by eye at volume
1972-P DDO~250,000 est.$300 – $700+obverse doubling on LIBERTY/date
1960-D small over largepart of 1.5 B$100 – $400+date geometry — small digits punched over large
1970-S small date (Hi-7)fraction of 693 M$30 – $60+7 level with 9 and 0 (geometry, not reading)
1960-P small date~2.07 M$2 – $20digit height + spacing
1877 / 1908-S / 1909-S Indian852k / 1.1M / 309k$35 – $1,000+series + date + mint reads
1856 Flying Eagle~1,000 struck$6,000+series + date

Semi-keys — scarce, not legendary

Worth keeping in a separate "Save" stream once the hero coins can't be missed: 1909 VDB (27.99 M, $10–15) · 1911-S ($35–50) · 1912-S ($20–30) · 1915-S ($15–25) · 1922-D ($15–25) · 1924-D ($30–50) · 1926-S ($10–20) · 1931-D ($5–10) · 1933-D ($3–7). Also, every copper penny 1909–1982 carries ~4.2¢ of copper melt — the Copper bin is never empty even on a bad day (see the Copper Stacker play).

04 — The prompts

Sample AI prompts — Numi's chapter 4, rewritten for pennies

Numi v4's most convincing idea: the sorting rules are not code. They're plain English in a text file, sent with every coin, editable without touching the robot. Everything below follows that pattern — and the penny version gets something Numi's doesn't have: sensor facts (weight, magnetism) passed in as ground truth, so the AI never has to guess composition from a photo.

PROMPT 01 — THE MASTER VERDICT (both sides + sensors)1 call per unknown coin · escalation path
ROLE
You are Penny Hunter's coin reader. You receive ONE coin: two photographs
(obverse and reverse, same coin) and two sensor readings taken with it.
Fill the JSON verdict. Nothing else. Small cents only, 1856 to today.

SENSOR FACTS — trust these over anything an image suggests
  weight_g : measured, exact to 0.01 g
  magnetic : true / false
  Composition is decided by sensors, never by the photo:
    4.67 g             -> copper-nickel  (Flying Eagle, 1859-1864 Indian)
    3.11 g             -> bronze / copper (Wheat, 1864-1909 Indian, Memorial <=1982)
    2.70 g + magnetic  -> zinc-coated STEEL (1943)
    2.50 g             -> copper-plated zinc (1982+) -> face value

READ THE OBVERSE
  - Series: Flying Eagle / Indian Head / Lincoln Wheat / Lincoln Memorial / Shield
  - Year: read all four digits. A digit you cannot read is NOT guessed.
  - Mint mark: D or S beneath the date.
  - LINCOLN VARIETIES THAT ARE OBVERSE-ONLY (all read in one look):
      1955      doubled die obverse (date + LIBERTY, strong, visible by eye)
      1969-S    doubled die obverse (dramatic doubling, lettering + date)
      1972/72-D doubled die obverse (LIBERTY and date)
      1960/1960-D and 1970-S and 1982: small vs large date geometry -
      small date: digits shorter, "7" sits LEVEL with the tops of 9 and 0;
      large date: taller digits, "7" sits clearly lower.

DECIDE (first match wins)
  1 SAVE - JACKPOT
      1943 with magnetic=false and weight ~= 3.11     (1943 BRONZE)
      1909-S VDB   (obverse S + reverse shows V.D.B.)
      1955 DDO / 1969-S DDO / 1972 DDO
      1982-D small date COPPER (D + small-date geometry + 3.11 g)
      1922 with no mint mark (strong reverse)
      1856 Flying Eagle, 1877 / 1908-S / 1909-S Indian, 1914-D, 1931-S
  2 SAVE - SEMI-KEY  1909 VDB, 1911-S, 1912-S, 1915-S, 1922-D, 1924-D,
      1926-S, 1931-D, 1933-D, 1960 small date, 1970-S small date,
      1960-D small-over-large
  3 COPPER        bronze by weight, no key/variety tags (feeds the copper stack)
  4 INSPECT       any doubling you are not certain is die doubling, any date
      geometry you cannot resolve, repunched mint marks, die cracks,
      anything you would not bet a dealer's money on
  5 DUMP          zinc, worn common bronze, damaged
  6 MISC          not a US small cent (foreign, token, washer, blank)
  7 RETRY         double-feed, overlapping coins, empty frame, or BOTH year
      and mint mark unreadable

DOUBLING: TRUE vs MACHINE
  TRUE die doubling: crisp, rounded, evenly spaced extra image with a
  distinct "split" or notch; consistent direction across the design; the
  1955 shows clean separated LIBERTY and date. A true variety.
  MACHINE doubling: flat, shelf-like, single-direction smear that differs
  letter to letter and never splits a serif. Never a variety.
  If you cannot tell the two apart: INSPECT. Never Dump a coin you doubt.

ASYMMETRY RULE
  Dumping a common penny costs one cent. Dumping a 1943 bronze costs
  $150,000. Every threshold in this document leans toward INSPECT.

OUTPUT - JSON only, no prose:
{
  "series": "", "year": 0, "mint": "" ,
  "composition": "bronze|copper-nickel|steel|zinc",
  "weight_g": 0.0, "magnetic": false,
  "variety_tags": [],
  "doubling": {"present": false, "kind": "none|die|machine", "evidence": ""},
  "date_geometry": "small|large|n/a",
  "quality": "junk|circulated|nice|unc",
  "obverse_ok": true, "reverse_ok": true,
  "confidence": 0.0,
  "action": "Save|Copper|Inspect|Dump|Misc|Retry",
  "bin": "save_jackpot|save_semikey|copper|inspect|dump|misc|retry|candidate_1943",
  "reason": "one sentence, the way a dealer would say it"
}
Same skeleton as Numi's rule file — plain sentences, no training, no retraining. Editing this file changes machine behaviour with zero code.
PROMPT 02 — THE FAST LANE (obverse only, 95% of coins)Small local VLM · ~300 ms · cents per 1,000
You see ONE photograph: the obverse (heads side) of a US small cent,
filling the frame, lit evenly. You have 500 ms. Be a screen, not a grader.

Answer only these questions:
  1 is_penny      : is this a US small cent obverse? (token/blank/foreign = false)
  2 series        : flying_eagle | indian | wheat | memorial | shield | unreadable
  3 year          : four digits, or 0 if not cleanly readable
  4 mint          : D | S | none | unreadable
  5 common        : true ONLY IF (memorial OR shield) AND (zinc look) AND no
                    doubling visible AND date+mint cleanly read
  6 escalate      : true  = NOT common, or any doubt
  7 why           : five words max

Output JSON only: {"is_penny":true,"series":"memorial","year":1987,"mint":"D",
"common":true,"escalate":false,"why":"zinc memorial common"}
Every "escalate: true" goes to PROMPT 01 (full two-side pass).
When unsure, escalate. A wrong "common" is the only unrecoverable error.
This is the throughput engine: a common 1987-D zinc dies here in one obverse-only look, never touching the cloud.
PROMPT 03 — VARIETY DEEP-DIVE (escalation only)Frontier model · cropped high-res · 2–5% of coins
You are a variety-and-error specialist. You get the obverse crop of a penny
that already tripped a variety flag, plus its year and mint. Do not re-read
the date. Judge ONE question: is this a true die variety, machine doubling,
or neither?

Known US cents deaths to check, in this order:
  1955 DDO        - doubling on LIBERTY and the date, crisp and separated
  1969-S DDO      - dramatic doubling across lettering and date
  1972 / 1972-D   - LIBERTY and date doubled
  1983 / 1984     - doubled die reverses (rare, subtle)
  RPM             - repunched mint marks: a second S or D shadowing the first
  Small-over-large dates: 1960-D - small digits punched over large ones,
                    visible as extra curves beside the numerals
  Die cracks / cuds / breaks: judged as damage candidates, never value alone

For each candidate you see, state the physical evidence: where the extra
image sits, whether it is separated or a flat shelf, whether serifs split.
"No doubling" is a perfectly good answer and preferred over a maybe.

Output JSON:
{"candidates":[{"name":"","evidence":"","verdict":"die|machine|none"}],
 "best_verdict":"die|machine|none","confidence":0.0,
 "action":"Save|Inspect|Dump","reason":""}
Runs only after Prompt 02 or 01 flags suspicion. The specialist prompt gets crops and a narrow question — precision, not speed.
PROMPT 04 — THE 1943 CHECK (sensor-first, near-zero vision)Runs on any 1943-obverse read · milliseconds
SENSOR BLOCK (measured, not estimated)
  weight_g : {weight}
  magnetic : {magnetic}

RULES - fixed, no judgement needed:
  magnetic true  and 2.60-2.80 g            -> 1943 STEEL. Action: Dump (or Save,
                                               steel 1943s are worth ~$0.50-1 in nice shape)
  magnetic false and 3.00-3.25 g            -> *** 1943 BRONZE *** Action: Save_Jackpot.
                                               Stop the machine. Do not flip, drop,
                                               or vibrate this coin again.
  magnetic false and outside 3.00-3.25 g    -> suspect miss-sort or foreign disc
                                               -> Retry
  magnetic true  and outside 2.60-2.80 g    -> Retry

Vision is used for exactly one confirmation: the obverse date reads 1943.
A non-magnetic ~3.11 g coin dated 1943 has never failed this test in the
history of the hobby. It is the highest-value, lowest-cost detection the
machine can make.
The point: the $150k coin is caught by physics, not by a language model. The AI is only asked to confirm four digits.
PROMPT 05 — SMALL DATE vs LARGE DATE (geometry, not reading)Fires on 1960 / 1960-D / 1970-S / 1982
You are comparing the shape of a date, not reading it. The digits 1960,
1970 or 1982 are known. Decide the GEOMETRY.

Measurement instructions:
  1 the last digit (7 for 1970, 0 for 1960/1982) - where is its top edge
    relative to the tops of the two digits before it?
      level with them                    -> SMALL DATE
      clearly below them                 -> LARGE DATE
  2 digit height: small dates are visibly shorter and the numerals sit
    further from the rim. Large dates nearly touch the rim circle.
  3 1960-D small-over-large: small numerals punched INTO a large-date
    spacing - look for doubled curves or a "ghost" outline beside the digits.

Confidence: only answer "small" or "large" if the tops are visible; if the
7/0 top is worn flat, answer "unresolved" -> Inspect. There is no third try.

Output: {"year":1970,"geometry":"small|large|unresolved",
"level_with_neighbors":true,"evidence":"","confidence":0.0,
"action":"Save|Inspect"}
A worn coin defeats geometry prompts. "Unresolved → Inspect" is the honest output, and the machine must be built to accept it.
PROMPT 06 — GRADE-CANDIDATE SCREEN (is it worth a human's eyes?)Final gate before the Save bin
This penny is already flagged as a keeper (key date, wheat era, or early
ideal). One question: does this coin deserve a human's hands, or is it a
$0.10 semi-key in a $2 holder?

Judge on the ACTUAL surfaces in the photo:
  full wheat lines visible?  (wheat reverses: rows of stalks intact)
  LIBERTY complete, all 7 letters, edges sharp?
  date fully legible without magnification?
  rim contact marks?  deep bag marks?  corrosion or cleaning (dull, smeared
  luster)?  verdigris (green)?
  do the fields show original luster or full circulation wear?

Output:
{"wheat_lines":"full|partial|worn","liberty":"complete|partial|worn",
 "date_legible":true,"luster":"full|partial|smeared|dull",
 "flags":["cleaned","corroded","bent","holed","rim_damage"],
 "band":"problem|AG-G|VG-F|VF-XF|AU|MS",
 "action":"Save-Jackpot|Save-SemiKey|Copper|Inspect","reason":""}

Band rules:
  AG-G      date barely there, LIBERTY flat          -> Copper, no premium
  VG-F      date clear, LIBERTY worn, wheat lines gone -> only if key/semi-key
  VF-XF     letters sharp, wheat lines present        -> the money band
  AU        full luster, light rub on high points     -> Save + grading candidate
  MS        full original luster, no wear             -> Save both frames, log
  problem   any flag present -> the flag outranks the band, always

Be harsh. A circulated 1931-S at $10 that costs 90 seconds of a human's
attention is a loss. Only AU/MS-band coins with no flags get flagged for
grading submission — everyone else gets a copy of the photo and a price band.
This is where a penny-only machine earns its keep: the "Inspect" pile must stay small enough that a human can actually clear it.

Prompt-craft rules (what Numi proved, and what changed)

Proven by Numi v4

Rules live in a text file

Change the machine's mind with a sentence — pull 1943 steel tomorrow, stop saving 1931-D next week. No dataset, no retraining, no firmware.

Penny Hunter upgrade

Sensors are facts, vision is judgement

Weight and magnetism go in as ground truth. The model never guesses composition from a colour it can't trust — this kills the entire class of "is it copper or zinc" errors, and with them, the 1982 confusion.

Discipline

Retry is sacred

Unreadable date → Retry, never a guess. Every verdict logged (model, tokens, cost, ms, weight, image hashes) exactly as Numi logs his — the logs are how the prompt file gets better.

05 — Speed & efficiency

Where the 14 seconds go, and how they disappear

Numi v4's 15 s/coin is a serial machine: feed → push → photograph → flip → photograph → ask AI → wait → carousel. Nearly every step waits for the one before it. Penny Hunter's premise: nothing waits. Stations run concurrently on coins in flight, and the AI is never in the critical path.

StationNumi v4 (serial)Penny Hunter (pipelined)How
Hopper feed~1–2 s~300 ms/coinwheel/rail feed, one-diameter coins, laser hysteresis (Numi's own trick)
Transport to stage~1 s~150 mscoin rides the rail through the camera gate — never stops
Capture obverse~1.5 s (then flip ~2–3 s)~10 msstrobe + global shutter, frozen in flight; no flip exists
Capture reverse(same flip + 1.5 s)~10 ms, only when needed2nd camera behind the glass, fired only for reverse-critical coins
Weight + magnet—~5 msload cell + Hall sensor on the entry rail — composition known before the photo is even decoded
Fast-lane AI—~300 ms localon-box VLM decides common zinc/memorial, no network
Master verdict~4–6 s (Gemini Flash)off critical pathonly 2–5% of coins; pipeline keeps feeding while it thinks (Numi proved the overlap works)
Sort~2 s carousel spin~250 mspre-positioned diverter, aimed while the AI is still deciding (default aim: Dump — the statistically safe bet)
Effective rate~250/hr3,000+/hr targetthroughput = slowest station, not the sum — that's the whole trick

The four levers, in order of payoff

Lever 1 · biggest

Composition is free — stop asking the AI

Zinc reads 2.50 g, bronze 3.11 g, steel 2.70 g & magnetic, copper-nickel 4.67 g. On a modern pocket-change load, ~70% of coins are zinc and never need any AI at all — weight alone sends them to Dump. The machine's AI load collapses to the coins you actually care about.

Lever 2

Overlap everything (Numi's own lesson)

He went 60 s → 15 s mostly by overlapping. Take it to the end: feed 4–6 coins in flight, aim the diverter early, let the cloud call resolve behind two more coins. The pipeline, not the model, sets the rate.

Lever 3

Two cameras, one pass, zero flippers

Numi's own verdict: dropping to one camera bought a flipper that touches every coin — "a bad trade". Two cameras facing each other across museum glass photograph both faces in one pass, and the flipper never exists.

Lever 4

Tier the AI by stakes, not by coin

Local VLM screens everything; cloud Flash judges the non-common; a frontier model is asked only about the ~1% that could be a $1,000+ variety. Fast lane for the many, careful lane for the few, two-model agreement for anything worth over $1,000.

High-speed capture — the hardware facts

DecisionWhy
Global shutter, not rollingAt conveyor speeds above ~0.2 m/s, rolling shutter skews a circular coin into an oval and smears serifs — exactly the detail variety detection lives on. Global-shutter sensors (~$150–400/ea machine-vision class) fire the whole frame at once.
Strobe, not continuous lightA 100 µs strobe freezes a coin moving 1 m/s to ~0.1 mm of motion blur, and it beats daylight wander and coin-to-coin brightness swing (Numi measured a ~10× swing) because every exposure is the same length, same energy, same geometry.
5 MP for the hero shot — 1–2 MP is plenty for the screenNumi photographed at 1600×1200 (2 MP). Doubling needs resolution; "is this a 1987 zinc" does not. Two-tier: cheap small frame for the fast lane, full-res frame kept for escalation.
Fixed focus, locked geometryOne coin diameter means one focal distance, forever. This is the single biggest image-quality gift the penny-only choice gives back.
Polarized, diffuse, calibratedNumi v5's own plan — circular polarizers to kill glare off copper. On a one-size coin you can calibrate once per session with a reference penny and hold it.
06 — The one-side-first question

Can one side of a penny decide the whole verdict?

The brief is right to flag this: for pennies specifically, one side goes very far. The Lincoln obverse carries date, mint mark, series identity, both small/large-date geometries, and every famous doubled die (1955, 1969-S, 1972 — DDO means doubled die obverse, the doubling lives on the head side). The reverse is needed in far fewer cases than intuition suggests — and each of those cases is a known, date-gated trigger, not a guess.

Obverse decides

Everything on the hero list but three

1943 bronze (date + sensors) · 1914-D · 1931-S · 1970-S small date · 1972 DDO · 1969-S DDO · 1955 DDO · Indian Head keys (1887… 1877, 1908-S, 1909-S) · Flying Eagle (1856) · 1960 / 1960-D small date geometry. One obverse photo + weight + magnet covers all of it.

Reverse required

Only for date-gated exceptions

1909 (any mint): V.D.B. initials sit at the bottom of the reverse — the 1909-S VDB is a $700–2,500 coin and the 1909 VDB a $10–15 semi-key. 1922 (no mint mark): weak vs strong reverse decides the $500–12,000 "no-D" variety. 1983/84: doubled-die reverses. That's the entire mandatory list.

Coin readingObverse alone?Reverse needed?Rule
Series + year + mint (any penny)yesnodate tells the era — Wheat ends 1958, Memorial begins 1959. No reverse required to know the series.
Composition (bronze / steel / zinc / Cu-Ni)——sensors only — never an image question
1955 / 1969-S / 1972 DDOyesnodoubled-die obverse — the name says where it lives
Small vs large date (1960, 1960-D, 1970-S, 1982)yesnodate geometry only
1909-S VDB · 1909 VDBpartial (1909 + S seen)yestrigger: year == 1909 → route to the two-camera gate
1922 no-D strong reversepartial (1922, no mint)yestrigger: year == 1922 and mint == none
1983/84 doubled-die reversenoyestrigger: year == 1983 or 1984
Wheat vs Memorial era confirmyes (year)optionalreverse is a cross-check, never the primary read

The architecture this produces — two lanes, one geometry:

Lane 1 · fast · ~99% of coins

Obverse-only station

One camera, one strobe, one weight+magnet read. Decides date, mint, series, doubling, geometry, composition — and either sends the coin to its bin, or flags it for Lane 2. No flip mechanism exists anywhere in the machine.

Lane 2 · slow · date-gated

Two-camera gate

Only coins that trip a reverse trigger (1909, 1922, 1983–84, or any >$1,000 suspicion) divert onto the two-camera stage where museum glass holds the coin between two lenses and both faces are strobed at once. Both sides, one instant, zero moving parts touching the coin.

The payoff: Numi spends the flip on every coin; Penny Hunter spends it on a few per thousand. And because the second camera only fires on flagged coins, both the image bill and the pipeline stay cheap. The one-side idea isn't a compromise — it's the default, with the reverse as an exception handler.

07 — The AI stack

Five AI layers, each doing only what it must

Numi proves one model can read a coin. Penny Hunter's version: never spend a frontier-model call on a 1987 zinc. Layer the stack so cost and latency track how much a coin is worth, not how many coins there are.

Layer2026 model classLatencyCost / 1,000 coinsJob
0 · OCR gatetiny local CNN (ONNX / YOLO-class), trained on the machine's own logged crops<10 ms$0is-this-a-penny, series, raw date digits — the deterministic stuff AI keeps being asked to do
1 · Fast-lane screensmall local VLM (Qwen-VL-7B / SmolVLM / Moondream class, quantized, on-board NPU or GPU)150–400 ms$0Prompt 02: kill common zinc/memorials with one obverse look, no network
2 · Master verdictGemini Flash-class / GPT-5-mini-class vision1–3 s off critical path~$0.03Prompt 01 on the 2–5% that aren't common (Numi's measured cost with every coin reaching the cloud: $0.25/1,000)
3 · Variety deep-divefrontier reasoning model (Pro-class / GPT-5 / Sonnet-class)3–10 s off path~$0.01Prompt 03 on the <1% that could be a $1,000+ variety — cropped, magnified, narrow question
4 · Second opiniona different vendor's model, same cropsecondspenniesany verdict over $1,000 needs two independent models agreeing, else → Inspect. Cheap insurance on a $150k coin.

The arithmetic: cloud image input on the Flash tier runs roughly $0.0003/image (≈1,100 tokens per image at ~$0.30/M) — call it $0.0007 per coin for a two-image verdict. Numi's $0.25 per 1,000 is that math with the AI seeing every coin. Escalating only 2–5% lands the same machine at ≤$0.05 per 1,000 — 5× cheaper — while spending more AI thought on the coins that deserve it.

Portability

Vendor-swappable by design

Model names rotate every few months; the architecture doesn't. Prompts talk about coin reading, not about a specific model. Swapping the escalation model is a one-line config change.

Latency

Batch only off the critical path

Per-coin calls aren't required to be serial — verdicts for a handful of coins can batch into one request because the pipeline keeps feeding regardless. Rate is set by the slowest station, never by an API call.

Data flywheel

The logs train the next version

Numi logged model, tokens, cost, and response time per coin. Penny Hunter logs verdicts plus human confirmations — every confirmed reading becomes a labeled sample that sharpens the local net, pushing more coins into the free lane.

08 — Brainstorm

Ideas on the table, ranked by payoff per dollar

Open questions and candidate tricks — some are a sentence in the rule file, some are a station on the rail.

near-free · do first

Magnet + weight pre-gate

A Hall sensor and load cell in the entry rail catch 1943 steel, 1944 steel errors, and every zinc coin before any camera fires. Costs ~$30 of parts. Immediate: a magnetic 1944–46 penny is a $50,000+ rarity — the magnet finds it without a single pixel.

cheap · big rate win

The boring lane

Coins reading 2.50 g (zinc) get a mechanical bypass: no photo, no AI, straight to Dump. On modern pocket change that's most of the load, and the machine's effective rate on "real" pennies multiplies accordingly.

cheap

Classical geometry before AI

Small-vs-large date, rim distance, and doubling candidates are measurable with OpenCV template/edge math in ~5 ms. Use AI only when the measurement is ambiguous — saves the most common escalation.

cheap

Confidence-gated second look

The reverse camera fires only when the obverse verdict is uncertain or date-gated (1909, 1922, 1992). Everything else never sees a second lens.

design choice

Add the 1992 AM varieties to the trigger list

1992 close-AM / wide-AM lives on the reverse (AM in AMERICA). Same for 1998–2000 wide AM. One more date-gated reverse rule — cheap to add to the prompt file, worth $3,000+ when it hits.

design choice

Bent-coin detector

Two laser profile lines across the rail measure coin flatness; warped or cupped pennies skip the camera and go to Misc — no AI time wasted on coins that can't be graded anyway.

mechanical

Wheel feed, not a funnel

Numi's own v5 plan: coins carried around a rotating disc. With one coin diameter it's trivially easy, and bridging — Numi's funnel failure — cannot happen.

ambitious

Zero-stop conveyor + strobe trigger

The end state: coins never stop, a beam-break fires the strobe, the strobe timestamps the frame, the carousel is aimed before the coin arrives. The machine's speed is then bounded only by the rail and the diverter.

sourcing

Where the pennies come from

Bank rolls at face (see the bank-roll playbook), Coinstar/bank reject bins, estate jars. Penny Hunter is the high-volume arm of the same hunt — the Copper bin it fills is exactly what Copper Stacker turns into a position.

legal & honest

Copper stays a stack, never a melt

Sorting and holding copper cents is legal; melting them is not (31 CFR Part 82). Penny Hunter's Copper bin feeds storage, exactly as stated on the Copper Stacker site. No exceptions.

flex

Adaptable scoring per source

Same machine, different rule files: "bank rolls" bias → save every wheat; "estate jar" bias → save every pre-1959 and all Indian Heads; "show table" mode → raise Inspect threshold and lower Dump aggression. Behavior in text files, no code.

stretch

Flying Eagle / Indian Head gallery

The two rare series are worth a dedicated "never dump, always inspect" posture — the machine should treat any pre-1859 date as automatic Save/Inspect regardless of condition.

Open questions for the next pass: the exact AI-vs-physics split for the 1982 transition (copper reading + small-date geometry must AND correctly); the cost of museum-glass two-sided capture vs a simple passive mirror for the gated lane; whether the fast lane should run at 2 MP (cheap) with a full-res capture kept alongside for escalation — likely yes; and the sourcing math on how many pennies/hour the machine must sort to fund itself against average finds.

09 — The machine

Penny Hunter — spec sheet and the honest comparison

Numi v4 (Hinh)RoboCoinPENNY HUNTER (target)
Scopeall US denominationspennies–quarters, 4 denomsmall cents only, 1856→present
Speed~250/hr (14 s/coin)<1 s/coin claim3,000+/hr
AI cost$0.25 / 1,000cloud per coin≤$0.05 / 1,000
Cameras1 + flipper armmulti-cam2 (obverse always, reverse on trigger)
Sensorslaser rangefinder—weight ±0.01 g · Hall magnetometer · laser rangefinder
Known weak pointsflipper jams ~hourly, funnel bridging, 10× lighting swingfalse positives, dirty coin → verify binengineered out by design: no part touches a coin; one coin diameter; strobed, calibrated light
Rules engineplain-English text filetrained netsplain-English text file — this is the right idea and it's kept
BinsDump/Save/Inspect/Misc/Retryhigh/low/verify/rejectDump · Copper · Save-SemiKey · Save-Jackpot · Inspect · Misc · Retry · 1943-candidate

Build order — the lazy path to a running machine

M1 · bench rig · weeks

Prove the verdicts

Hand-feed coins onto a lit stage: one global-shutter camera, a load cell, a magnet. Run Prompt 01 + the local screen. Success = the AI's verdicts match a human's on 1,000 real pennies. Nothing moves yet.

M2 · rail + diverter · months

Move one coin at a time

Wheel feed, weigh-and-magnet gate, strobe capture on the fly, diverter with pre-aim. Still one camera and one lane — but the coin never stops.

M3 · two lanes, cloud on tap

The full machine

Gated reverse lane, tiered AI with a local VLM, the dashboards, and the log-driven data flywheel that keeps shrinking the escalation rate.

The premise in one line: Numi sorts every coin and pays for it with a flipper, a funnel, and a Flash call on a 1987 zinc. Penny Hunter knows its coin, weighs it before it photographs it, looks at one side until it needs the other, and spends its AI only where the money is. That's the whole machine.

Companion pieces: Coin Hunter (mydestiny.com/coin-hunter) — the general AI rarity-scanner play · Copper Stacker (mydestiny.com/copper-stacker) — what the Copper bin becomes · primary reference: Justin Hinh's Numi v4 build notes (justinhinh.webflow.io/projects/numi-v4).

10 — Circulation ratings

The photo that read the date also read the wear

Grading is free once the machine is already photographing every coin. The same frame that says 1931-S also says how much of it is left — and that's the difference between a $10 coin and a $60 one. Penny Hunter bands the condition, flags the value-killers, and tells the user which coins deserve a human's eyes or a slab.

BandWhat the machine seesWhat happens
Damaged / problemholes, bends, corrosion, verdigris, harsh cleaning (dull smeared luster), rim dentsProblem bin regardless of date — flagged cleaned / corroded / damaged so nobody overpays for it
About Good–Good (AG–G)date barely there, LIBERTY flat, outline onlyCopper bin (melt-band), no premium
Very Good–Fine (VG–F)date clear, LIBERTY readable but worn, wheat lines mostly goneSave only if key/semi-key date; value near its circulated floor
Very Fine–Extremely Fine (VF–XF)all letters sharp, wheat lines present, moderate surface wear, some luster in the fieldReal money band — key dates here are the ones worth flipping
About Uncirculated (AU)full luster with light rub on the high points, sharp detailsSave + grading-candidate flag
Uncirculated (MS)full original luster, no wear, only bag marksSave, photograph both sides, log the frame for submission
How it's measured

Wear checkpoints + a luster number

Wear is judged on the three places Lincoln cents wear first — wheat lines, LIBERTY, the date — plus a quantitative luster reading (specular reflection variance across the field). Humans eyeball this; the machine meters it the same way every time, on every coin.

The value killers

Problem flags win

A 1909-S VDB with a hole is worth a fraction of a good one — so cleaning, corrosion, bends and holes are detected and stamped on the record. The grade never gets reported without its flags attached.

Honest ceiling

Banding, not certification

A photo reads surfaces, not the whole coin — so the machine bands (G / F / XF / AU / MS60-ish) and routes the top band to a human or a slab. It is a triage tool: consistent, tireless, and honest about what it can't see.

Where it pays off: the value math stops being flat. A run's report can price finds by band × key-date multiplier instead of assuming everything is a dug-up $1 coin — and the AU/MS candidates get pulled out of the copper bin before they're weighted as metal. Same 3,000 coins an hour, a truthful number at the end of the night. This runs on Prompt 06, extended with the band scale and problem flags.

11 — Who runs it · and why it's fun

A machine that pays in cents and dopamine

Penny Hunter isn't sold to mints or banks. It's sold to anyone with a jar problem — and it's built to be watched, not tolerated. Set it running on the kitchen table, walk away, and let it chime when something good shows up.

Who buys this

  • The jar hoarder. "I'll sort these someday." Five-gallon bucket, coffee can, pickle jar — the machine does in an evening what ten years of good intentions didn't.
  • Bank-roll and box hunters. A $25 box is 2,500 pennies at face. Eyes glaze around coin 200; Penny Hunter doesn't have eyes to glaze.
  • Estate and inherited jars. Nobody wants to hand-sort 40 lb of pennies — and nobody wants to be the one who sold the 1909-S VDB for face value at a coinstar.
  • Copper stackers and preppers. Every pre-1982 goes to the Copper bin by weight, no key date lost. The machine and the copper play are the same customer.
  • Coin shops and dealers. Junk bins picked in the background while the counter is being worked — and the "Inspect" bin is the only part that needs a human.
  • Roll hunters on camera. Coin roll hunting is a content genre by itself. The find alerts are the show.
The delight layer

Built to be watched

The screen is a living dashboard: coins ticking past, bin counts climbing, the LED ring going copper for copper, green for save, gold for jackpot. Sound prompts you can hear from the next room — a soft clink per coin, a cash-register chime when a wheat drops, a full celebration when a key date does.

Find a rare one and the machine stops, lights up, and makes sure you know — on screen and out loud. Otherwise: run it in the background, come back to a progress report and a fuller copper bin.

clink — every coin cash register — wheat / key date fanfare — jackpot find silence — zinc
1987-D zinc → dump  ·  1909 VDB → SAVE, chime  ·  1943 steel (magnet) → dump  ·  1958-D wheat → save  ·  1972-D doubling? → inspect  ·  1909-S VDB → JACKPOT — line stopped  ·  1982-D zinc → dump  ·  1946 wheat → save  · 
running 2h 41m
Coins sorted
12,480
Copper bin (pre-82)
1.9 kg
Wheats found
213
Best find tonight
1909 VDB · $14
scanning
LED ring + sound prompts wired to the verdict
Reports

Totals that add up

Hourly and nightly progress reports: coins sorted, copper weight stacked, wheats and key dates found, estimated value recovered, cost of the run. The machine keeps score so the user doesn't have to.

Background mode

Run it while you live

No babysitting required — the pipeline never stops for the AI, nothing touches the coin, and the Retry bin quietly catches the machine's own mistakes. Come back to a report, not a jam.

The hook

Every jar is a lottery ticket

The pitch writes itself: the AI does the boring 99.9%, and the lights and sounds make the 0.1% feel like what it is — a find. That's what turns a sorter into something people run on purpose.