FrameCreative-discovery prototype

A lit shop window onthe world's ad market.

Choose a market and a niche, and the window fills with the video creatives brands are running there, with truthful activity evidence. Find one you like, and put your product into the same real footage. Two pillars: Discover, and Make it yours.

Mobile-first prototype · Expo / React NativeApproved design: Lit Stream, final iteration 2, 7 Oct 2026Native evaluation builds exist · not accepted
Market · original study
Welcome · the two-pillar loop
01What Frame is

Real creatives arethe material.

Frame is for people who sell something and want to see what is actually running, by country and by product niche, before they make their own creative. Every poster in it is a real catalog creative with its advertiser, its market and its activity. Nothing says “winning” or “profitable”; a green dot appears only when a creative is running in the evidence window.

01 · Discover
Market → niche → scroll real creatives.

“Where do you sell?” Every market is its own feed of real ads. Pick a niche, refine it if you want to, then start scrolling: full-height vertical video, one creative at a time, with ● Running · Last seen · Meta · USA · the advertiser · N more active.

02 · Make it yours
Like one? Put your product in it.

When you find a creative you like, Frame's second pillar puts your product into the same real footage: the same creator, the same scene, only the product changed. In the design it is always labelled a preview and lands in Saved › Made yours, private to you.

Welcome · navyPass · rose-amberMarket · cobaltNiche · plumDeep niche · tealFeed · graphiteSaved · cognacSimilar · goldSearch · blue-teal
02Video-first discovery

Market. Niche.Start scrolling.

The journey, in the original studies. Each room is lit differently and each hand-off moves something you were already looking at. Recorded from the design mockups at 412×915; design evidence, not native output.

Market · 7.4 s · original study
Niche explore
Niche explore · approved screen
Deep niche · 6.9 s · original study
Niche → Feed · 3.6 s · the signature opening
Saved
Saved · approved screen
Market · “Where do you sell?”

A skyline of real creatives on a lit horizon.

The United States arrives as a cobalt sky with its most-run niches on the plate: Teeth & Mouth, Hair, Pets. Swipe to Canada and the whole world regrades to wine. The creatives are never recoloured; only the room around them.

Counts come from the catalog's evidence window of 5 October 2026 · they are fixtures, not metrics
Niche · “Choose your niche.”

A plum street of lit windows.

Search over a soft halo, a “jump back in” row, the featured niche with the most creatives, and a bento of worlds that each spill their own hue. Thin niches say so.

Deep niche · refine, optional

The tile becomes the room.

A teal chapel with a lit doorway. The count rolls as you refine: by length, by brand, by product family. “Start scrolling” is always one tap away.

Niche → Feed · 0.74 s

The label lifts into the feed while the first video opens underneath.

Tap at 0.40 s, playback at 1.14 s, no blank frame. The floor drops, the arch opens to full bleed, and the Feed is black glass, deliberately: the ad itself is the light.

Signature transition of the approved design · recorded from the mockup
Saved · a cognac gallery

Saved, made yours, collections.

A brass picture light over the shelf. Your saved creatives, the ones you made yours (previews, private to you), and collections you can play through.

03What exists natively

Built, captured,not yet accepted.

Diagnostic Android builds of version 1.8.0 were recorded on an isolated emulator with the network off. They prove what the source does today; they are not Frame's visual identity, so their captures are kept in the record and not shown here. The approved Lit Stream studies above are the authority the builds are measured against.

Works in the capture

Market → niche → deep → Start scrolling; filters; vertical paging 1/7 → 7/7; play and pause; mute as a state toggle; seek; double-tap save; Saved with two then three items; search results → watch; collections with Play all and a real 1 of 2 → 2 of 2.

QA08b and QA09 captures, 8 October 2026
Fails, and is kept

Broad niche entry offline; the earlier build's Welcome black phase; transient controls that hide while paused; a poster recovery with an unresolved cause. Catalog videos are replaced by labelled studio demonstration media in these builds.

QA07 preserved alongside
Not shown anywhere

Similar, the advertiser sheet, Settings, Loading, Error and Empty have no native capture. Audio is not verified by a silent recording. There is no production backend and no launched service.

“Visual fidelity not passed” on the owner's physical device · a full-length accepted Reels master has not been established
04The six original motion studies

Recorded from the mockups.Timing, glow and type untouched.

All six films of the final direction, played directly. 824×1830 at 30 frames per second, scaled for this page and otherwise unchanged. They are the visual authority for Frame; the native build is measured against them, not the other way round.

Welcome12.0 s · Full two-pillar loop: stream, card rise, the K18 creator, your product, the seam, the result.
Niche → Feed3.6 s · Signature opening. Tap 0.40 s, playback 1.14 s.
Market7.4 s · Skyline arrival, scroll-driven regrade, clip window into Niche.
Deep niche6.9 s · World entry, scroll into Refine, selection morph and digit roll.
Tap responses11.6 s · Press light, selection morph, save flight, status capsule, Use mine, pocket spread.
Ambient light8.0 s · Four rooms running their slow light: practicals wave, picture light warm-up, lightbox sweep, gel drift.

Lit Stream, final direction, iteration 2 · 7 October 2026 · design stage · genuine creator and catalog footage · creative demonstration · Instrument Serif and DM Sans inside the product

05Same creative. Different product.

The creator stays.Only the product changes.

Three genuine pairs: a creator's original video and its product-replacement result, retimed frame for frame. One clock drives both, so at any moment you are looking at the same frame twice. Pick an example, then see it side by side, wipe across it, cut between the two at a matched moment, or bring the product up close.

  • Complete in every sampled frame; no flicker; faces near-identical.
  • Label crisp from 3.3 to 5.0 s; garbled in the first second. The match cut lands at 3.3 s for that reason.
  • About 22.6 unique frames per second inside a 30 fps container, inherent to the model output.
  • The specular on the blue bottle matches the creator's warm key light; red nails, rings and bracelets stay intact through the fast hand moves, blur and all.
  • Label melts briefly around 2.1 s and smears at 3.3 s; the pump head ghosts at 4.4–4.5 s during the tilt.
  • Receives the same cobalt bottle as Hair Growth Co.
  • The most stable background of the three and the most natural grip; pink nails preserved.
  • Bottle scale “breathes” with the push toward camera at 4.1–4.9 s; pump geometry varies between frames.
  • The source was 406×720, so the 720p output is soft across the whole frame.

Produced with Higgsfield Genjutsu, object replacement, as an external creative-production step: three approved jobs on 6 October 2026, nothing resubmitted. Product replacement is not a native Frame feature today; in the app, “Use mine” opens a labelled preview and makes no backend call. The approved design plans the swap server-side, landing in Saved › Made yours. The creator footage is private reference for this review.

Inside the Welcome

How the swap is told in the product.

The Welcome study selects a real creator video, docks your product, locks on with ember brackets, then crosses the same footage with a slow seam: “Same video. Only the product changed.” The baked 4.8-second hero clip is the original pre-roll, the lock span, the seam and the result replay.

How it was produced. Higgsfield Genjutsu, object replacement, as an external creative-production step: three approved jobs on 6 October 2026, nothing resubmitted. Bases were chosen from the owner's files and approved by the owner; each result was retimed with ffmpeg so the original audio stays in sync.

What is not native. Product replacement is not a Frame feature today. In the app, Use mine opens a labelled preview and makes no backend call, and Frame never fakes a detection. The approved design plans a server-side swap that lands in Saved › Made yours, labelled Preview.

K18 hero · 4.8 sPre-roll, lock, seam, result.
Vegamour bake · 4.0 sAlternative, kept as a still in Saved.
Hair Growth Co. bake · 4.5 sAlternative, kept as a still in Saved.
Lock-on · “● Original product”
The seam · same footage, product swapped
Result · “✓ Same video. Only the product changed.”
06Why Frame exists

Discovery is scattered.Adaptation is slow.

Anyone who sells something ends up scrolling other people's ads: in a feed that was not built for it, without knowing where the ad runs, for how long, or whether it is still running. And when they finally see the concept they want, making their own version means starting from nothing.

Frame's answer is to make real creatives the material. Organise them by market and niche, show their activity honestly, let you save and collect them, and then let you adapt the one you like with your own product in the same footage. The approved design says it in three words: evidence, not hype.

What it does not do: rank products, score creatives, or claim anything is winning. The Analyze sheet says “No scores”; the Product sheet links to the ad's own landing page.

07Approved design versus current native

The app it replaces,next to the design.

Left: the native app before the redesign, captured on the emulator. Right: the approved mockup. The native build is to be measured against the right-hand side, screen by screen and on the owner's physical device. That audit has not yet been run.

Welcome · pedestal mockup → real UGC two-pillar story
Market · flat list → lit cyclorama
Feed · chrome over video → quiet graphite
Niche · grid → lit windows
Filters · gray chips → real data controls
Saved · list → cognac gallery
08Where Frame is heading

Implemented, in progress,planned, intended.

Frame's own roadmap, in the documents' own words, without dates. The native gate is explicit: nothing is accepted until it runs on the owner's device without jank.

ImplementedNative source · captured
Discovery and the feed

Market, niche and deep-niche navigation; filters; a vertical paged feed with original-aspect playback; play, pause, mute, seek; save and double-tap save.

QA08b capture
Sheets, search, library

Product and Analyze sheets with the original fixture metadata; search results and search-to-watch; the Saved library.

QA08b capture
Collections and profiles

Local collections with Play all and a real 1 of 2 → 2 of 2 transition; adding saved items; local profiles.

QA09 capture · creation confirmation not established
In progressDesign and engineering priorities
Audit every screen against the design set

“All reachable screens/routes/sheets/states must be audited against the complete approved design set.” Physical-device performance “remains failed/unverified until retested.”

Owner instruction
The native gate, N1–N12

Frame-timing evidence from gfxinfo and Perfetto, zero janky frames on transitions, p95 under 16.6 ms, first on the emulator, then on the owner's S24 Ultra. Status: not run; mockup evidence only.

Design tokens · “NOT RUN — mockup evidence only”
Build order

Foundation first: tokens, UI, fonts. Then five parallel builders: Welcome and auth, Discovery, Feed and the window transition, Library and Search, Sheets. Then the integration journey, then the device.

Final direction §12.5
PlannedExpansion · intent
Catalog and markets

Publish the pending creative into the catalog and re-observe it in the evidence window; source the thin niches (Kitchen, Ear, Foot); a second data round, paused for review; all 52 markets A–Z.

Final direction · review page
Server-side product swap

“Frame finds the product in this creative after you pick yours.” Detection is never simulated in the client; the swap runs server-side and lands in Saved › Made yours. Today the swap exists as a creative demonstration.

Approved design · future capability
Production accounts and backend

PostgreSQL, Redis, BullMQ, R2, PostHog and Sentry are listed as future architecture in the project's plans. No deployed service is established by that list.

Project plans · not deployed
Open decisions

A 1080p Welcome hero (one re-swap, undecided); expo-image; Instrument Serif Italic as a proposed addition; niche art not regenerated.

Final direction · pending
09The development story

Five blind proposals,a review panel, two iterations.

The design was not drawn once. Five codenamed directions were built and judged blind; none reached the owner's floor; a synthesis took the best of each, and two must-fix passes rebuilt every screen and recording. Then the native work began, and was measured.

The native app before the redesign
01The starting point

R15: the native app before the redesign. Gray chips, a pedestal welcome, chrome over video.

Five blind directions
03Five blind directions

SABLE “Vitrine”, FLINT “Everything Plays”, MARLIN “Lightbox”, ORCHID “Viewfinder”, QUARTZ “Key Light”. The panel saw codenames only.

Jury scores
04The review panel and the synthesis

A three-role review panel recorded in the design ledger, a floor of 9.0. The best proposal scored 8.9, so none passed alone. Lit Stream took Welcome, Feed and motion from FLINT, the background system from QUARTZ, niche discovery and Saved from SABLE, deep-niche refinement from MARLIN, and the K18 hero.

Owner direction · 6 and 7 October 2026
“show me the final visual boards BEFORE implementation” · “Continue from the approved ‘Lit Stream’ direction.” · “DO NOT replace the visual language.”
Claude Code

Design synthesis and screen builders, the design tokens, welcomeTimeline.ts (LOOP_SEC = 12), the discovery and feed modules. Native acceptance was not completed in that workflow; Codex continued integration and tests.

05Iterations 1 and 2

Panel 8.8 → iteration 1; panel 8.93 → iteration 2. Every must-fix itemised in the ledger with evidence. Internal scores are not owner acceptance.

Frame, Welcome alternates
06Native builds, judged against this

Diagnostic Android builds were captured on an emulator and measured against boards like these. None is accepted; the captures stay in the record rather than in the showcase.

Building with Claude →Next: Afghani Oil, live →