# Bottle a Memory > An imaginary-perfume maker that works only from the details of one memory, written one detail per line. One metered run gives every line one note from a fixed palette of 43, counts the top, heart and base notes, gives the balance verdict, makes one swap by a fixed rule when the balance is off, and offers three names for the bottle scored on five plain gates, with a keeper and a label line. The verdict is balanced, fleeting, heavy or lopsided. URL: https://bottle-a-memory.skillsafe.ai/ API: https://bottle-a-memory.skillsafe.ai/api.html ## What runs where - Free, in the browser: a perfumer's organ of 43 vials on three shelves (top, heart, base) with the notes your lines name lit and tagged by line number, a bottle whose liquid stripes follow its notes base first, a paper scent strip that reads the notes in the order they would show, building your own bottle by tapping vials, a name tester for the five gates, the page's free read, and SVG, PNG, Markdown, CSV and JSON downloads plus a printable card. - Metered, one task (`bottle`): one palette note per line - named outright when the line contains a note's key word, otherwise near (close to what the line describes) or mood (chosen for its feeling) - with a short reason; the tier counts and the verdict; one swap and the verdict after it; three names, each from a different line, with gates passed and an angle; the keeper; a label line and a sign-off. Runs on gpt-terra. - The page re-checks every reply: one note per line and none twice, the first untaken named note on every line that names one, the counts recounted from the palette, the verdict (fleeting with no base, heavy with no top, balanced with a heart note and no tier over half, otherwise lopsided), the swap's target shelf and line (mood before near before named, the latest line first), the verdict after it, every name's gates and the keeper. - The swap can be put into your own bottle with one button, so the organ shows the balance after it. ## Contract - Input (all strings): task (`bottle`), tone (`tender`, `playful`, `grand`), lines (`n | detail` lines, 3 to 8), page_facts (lines, named_notes and hints), optional clip_note and retry_note. - Reply: one JSON object with status (`ok` or `declined`), reason, notes (each with line, note, kind, why), counts (top, heart, base), verdict, verdict_reason, swap (line, from, to, why), verdict_after, names (each with name, line, gates, angle), keeper, label, closing. - Declined: memories that name a specific real person, ask for a recipe, formula, amounts or a copy of a commercial perfume, are about violence, crime, drugs, self-harm or anything sexual or hateful, or describe a smell that means danger. ## Sources - Built on the SkillSafe skill @arnabbagxd/brand-naming: https://skillsafe.ai/skill/@arnabbagxd/brand-naming (generate candidate names, then evaluate and rank them), applied to a bottle made only from the person's own lines. - Saved bottles live in the person's own SkillSafe account only when they press save. An imaginary scent for fun, not a recipe or professional advice. Never put essential oils or aroma materials on skin undiluted; some notes are common allergens.