Closer
Built at Meta Global AI Developer Hackathon · Oct 26, 2026 · Remote

Closer turns one photo of your outfit into a closet you can count and act on: what to wear today, what to keep and what to let go, using clothes you already own instead of another shopping feed. Built for one closet first, in Seoul: Korean and English sentences, Korean resale platforms first. The flow starts with one photo: 1. Photo to cards. Take one outfit photo and say what feels off ("Keep this jacket, the rest feels too dressed-up"). Muse Spark (muse-spark-1.3) reads the photo and the sentence into garment boxes; SAM 3.1 (sam-3.1) cuts each garment out; code re-measures its colour from the mask pixels and asks only when they disagree. Nothing is saved until you confirm the cards. 2. The rail. Each confirmed piece becomes one record with its own ID and hangs on your closet's rail in 3D (three.js): photographed pieces as their own cut-outs, the rest modelled by code. A price tag hangs only where you saved a price, in that platform's currency; sample prices are marked Sample. Tap a piece for the price seen, its confirmed wears and the next step: keep it or let it go. 3. Your closet at a glance. One number per currency, the latest price seen for each piece summed within that currency, with its denominator ("₩178,000 · 2 of 12 pieces"). A piece without a price is not counted as zero, sample and owner prices are never added, and a net appears only when every cost line was checked. 4. Keep or let go. A dated question per piece ("Will I wear J2 in the next 90 days?"), a market-style chart of the prices seen over time and two sides of counted facts. No probability is shown, because there is no counted basis for one. Your position is saved as a read-back snapshot and resolved later by wear records. Ten resale platforms, each in its own currency, never converted or averaged. 5. Today. Keep the piece you love; Closer completes up to two outfits from what you own, and only the wears you confirm count. 6. Discover. Pick looks you want; Closer counts how much of them your closet already covers ("6 of 8 pieces · 75%"). How it is built: the model proposes; deterministic TypeScript and SQLite code checks every item ID, rule, currency and state change before anything is written, then reads it back. Two runtime dependencies (@meta-sam/parser 0.1.0, three 0.170.0); 179 automated tests (170 pass, 0 fail, 9 skipped need a live key), a strict type check, static honesty checks and CI on every push. Live status, verified on Nov 5, 2026 against the Meta Model API (docs/live/live_check.json): the model list, Spark reading a sentence, Spark reading a photo (4 garments) and a Spark function-tool edit turn answered 200 and passed the code checks; SAM 3.1 returned 4 masks decoded by Meta's parser, and code refused one that left its box by 45 px (tolerance 22). The public build runs in mock mode by default, labelled on every screen. Next: one photo of a whole closet registers every visible piece. Closer never posts, pays or books anything.