Skip to content
Forrest Miller
← All products

FaceTwin

An art piece disguised as an AI product. Three AI ‘face twins’ come from a friend’s public photo. The reveal shows it was public all along. Uploaded faces are destroyed within 24 hours.

191
visitorslast 90 days · as of 2026-08-03
60
pranks sentall-time · as of 2026-08-03
41
visitorslast 30 days · as of 2026-08-03

Source: the cross-project traffic dashboard (Amplitude, bot-filtered) · read 2026-08-03

pleasejuststop.org/demo
FaceTwin's fake results page under the crimson FACETWIN PROJECT header: 'Your Face Twins' above three match cards — the same woman altered three ways, scored 97.1%, 94.8% and 91.4% — and a 'How does this work?' button that triggers the reveal.
pleasejuststop.org/demo — the victim's view: three 'matches' that are all AI edits of one public photo. Captured 2026-08-03.
FaceTwin's reveal screen: 'THAT WASN'T REAL' in crimson above the privacy-experiment explanation, the three AI 'twins' re-shown as a strip, and a 'Run it on someone' button.
The reveal: the matches were AI edits of one public photo, re-shown as the artifact.
pleasejuststop.org's sender page: 'HAVE WE ENTERED THE AI DYSTOPIA?' in crimson above the three-step explainer — snap or paste a photo, send the fake twin-finder link, they click — and the paste-URL box.
The sender's front door: paste a public photo, send the link. Photos self-destruct after 24 hours.

Who it's for

Anyone who wants to prank a friend — and, underneath, anyone willing to sit with why the prank works.

The problem

People believe a link can find strangers who share their face. That belief is the exhibit: it only holds because we've stopped expecting our photos to be private.

What it does

The sender pastes a public photo URL. AI generates three altered variants of that face, each degraded to pass as a real photo found online. The victim gets a link to what looks like a working face-search product, watches three "matches" appear with confidence scores, and then the reveal lands: every match was them, and the source photo was already public. Every uploaded face is destroyed within 24 hours.

What I did

An art piece about surveillance, run with the same discipline as the products — and its instruments turned out to be lying too.

  • Built the illusion in two layers: prompts that describe mundane real-world scenes, then a degradation pass under one of six profiles, so each of the three fakes reads as a different found photo. The piece dies the moment an image looks AI-generated.

  • Arrived at three fixed prompts by deleting words. Every defensive instruction pulled the model toward the thing it was told to avoid; nine dead ends are recorded as final so no session re-explores them.

  • Ruled the 40-day zero a demand drought only after a production probe ran the whole funnel clean — then fixed the four latent defects the same audit surfaced, none of which had caused the zero.

  • Made the advertised 24-hour self-destruct real when an audit found it was never scheduled: an hourly cron, 632 stored objects down to 4, rows scrubbed in place so the public tally never moved.

  • Code-gated the landing stats line to render nothing below 300 all-time creations. A number that needs apology copy is not worth showing.

What happened

Dated results, zeros included.

a zero, published0
pranks sent in 40 days — ruled an engagement drought by a production probe, and recorded as one2026-06-17 → 2026-07-27 · as of 2026-07-27
a zero, published0 of 48
victim responses stored vs pranks revealed — the column was varchar(8), so every insert since launch had failedlaunch → 2026-07-27 · as of 2026-07-27
167
all-time creations at the July read — below the 300 gate, so the landing stats line renders nothingas of 2026-07-27
632 → 4
stored objects after the purge that made the 24h self-destruct realas of 2026-07-27
126 MB → 135 kB
storage footprint — on an art piece about surveillance, the retention promise is the productas of 2026-07-27

What's next

A face-detection gate on upload — reject non-face uploads before paying for a generation. Top of the standing priorities queue.