Creative search · Human judgment · Memory

Idea Search

Messy human judgment becomes modular memory.

Compare concrete creative directions. Say what works, what misses, and why. Review the guidance extracted from that judgment, then carry the pieces you accept into later AI-generated creative searches.

One brief. Two batches. A memory that connects them.

Follow a citrus-fragrance concept from the first alternatives to a search informed by accepted guidance.

Recorded example · Select a stage

Recorded example with scripted candidates, feedback, and model outputs. Stage links explore the record; generation and decision controls show saved actions.

Step 01 / 06

Three directions for the same brief.

The starting batch gives the creator concrete alternatives to judge. No guidance has been accepted yet.

BATCH 01 ▸ generic “Develop three visual concepts for a 16-second launch film for a new citrus fragrance. No dialogue or on-screen text. Each concept should feel tactile, premium, and feasible to shoot, with one clear visual idea.”
MEMORY 0 items · all fp fp_demo0001 explore/balanced 3 candidates
C1 unjudged

Macro on a chilled bottle: condensation beads gather, merge, and run, dragging a clean line down the frosted glass. A thumb of orange peel flexes just off-axis and throws a fine mist across the light. Shallow depth, slow push, cold blue-green key.

no outputs aligned Open
C2 unjudged

Hard sunlight through a slatted blind rakes across a seamless backdrop in amber and deep green. Bars of light rotate, a wedge of grapefruit spins, the shadow of a leaf sweeps past, and the palette flips to negative on the final beat.

no outputs exploratory Open
C3 unjudged

A cleared dinner table after guests have gone: linen creased, two glasses, a bowl of clementines. Over sixteen seconds the low sun crawls across the cloth, the peel curls tighten, and the room warms from grey to gold.

no outputs variation Open

Nothing judged yet — every candidate in the set is equal at this point.

Next: Judge
Step 02 / 06

Let the judgment be messy. Keep it grounded.

One reaction can contain praise, a practical constraint, and a correction at once. The original wording stays attached to the candidate and brief that gave it meaning.

← Contact sheet C1 · aligned v1
C1alignedC2exploratoryC3variation

Candidate prompt

Macro on a chilled bottle: condensation beads gather, merge, and run, dragging a clean line down the frosted glass. A thumb of orange peel flexes just off-axis and throws a fine mist across the light. Shallow depth, slow push, cold blue-green key.

prompt_demo0001

Output evidence

No output artifact is linked to this candidate. This walkthrough uses prompt candidates only.

Judgment

“The condensation run is the whole idea -- one physical change I can actually shoot, and the beading reads expensive. But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”

saved judgment · on candidate C1 · prompt_demo0001

Next: Propose
Step 03 / 06

Separate the reaction into reviewable pieces.

The model proposes individual instructions: preserve a useful pattern, avoid a distracting element, or keep a constraint. Each proposal retains its source. It becomes memory only after a decision.

← Contact sheet C1 · aligned v1
C1alignedC2exploratoryC3variation

Candidate prompt

Macro on a chilled bottle: condensation beads gather, merge, and run, dragging a clean line down the frosted glass. A thumb of orange peel flexes just off-axis and throws a fine mist across the light. Shallow depth, slow push, cold blue-green key.

prompt_demo0001

Output evidence

No output artifact is linked to this candidate. This walkthrough uses prompt candidates only.

Judgment

“The condensation run is the whole idea -- one physical change I can actually shoot, and the beading reads expensive. But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”

saved judgment · on candidate C1 · prompt_demo0001

Next: Decide
Step 04 / 06

Decide what the critique actually meant.

Accept useful guidance, edit an instruction that narrows the idea too far, and reject an inference you did not intend. In this record, four items are accepted, one is rejected, and one remains pending.

← Contact sheet C1 · aligned v1
C1alignedC2exploratoryC3variation

Candidate prompt

Macro on a chilled bottle: condensation beads gather, merge, and run, dragging a clean line down the frosted glass. A thumb of orange peel flexes just off-axis and throws a fine mist across the light. Shallow depth, slow push, cold blue-green key.

prompt_demo0001

Output evidence

No output artifact is linked to this candidate. This walkthrough uses prompt candidates only.

Judgment

“The condensation run is the whole idea -- one physical change I can actually shoot, and the beading reads expensive. But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”

saved judgment · on candidate C1 · prompt_demo0001

Next: Regenerate
Step 05 / 06

Search again with the memory you chose.

The recorded second batch receives four accepted items as generation context. Rejected and pending proposals stay out. The example demonstrates the handoff using scripted outputs.

BATCH 02 ▸ generic “Same launch film, now informed by the guidance accepted in round one.”
MEMORY 4 items · all fp fp_demo0003 explore/balanced 3 candidates
4 accepted items used as context

Preserve

  • Organize each concept around a single physical transformation that can actually be shot.
  • Keep the product legible in the final beat.
  • Lead with tactile material detail rather than general atmosphere.

Avoid

  • Do not stack competing visual tricks in one sixteen-second concept.
C1 unjudged

One unbroken macro: a single bead of condensation swells on the shoulder of the bottle, releases, and tracks straight down through the label, leaving a clear stripe across frosted glass. The pull-back stops with the full bottle centred and the label sharp.

no outputs aligned Open
C2 unjudged

A thumb presses a strip of orange peel until the oil bursts and atomises through a hard side light. The mist settles across the cap and shoulders of the bottle standing beside it; the final beat holds on the bottle, dressed in a fine sheen.

no outputs exploratory Open
C3 unjudged

A drop of oil lands on still water and blooms into a slow citrus-coloured ring. The ripple reaches the base of the bottle standing in the tray, and the surface settles to a mirror with the bottle and its reflection held square in frame.

no outputs variation Open
Next: Trace
Step 06 / 06

Follow a memory item back to its source.

The record connects the original candidate, critique, proposal, human decision, and later generation.

PROVENANCE edited-then-accepted item judgment → proposal → decision → accepted memory → later batch
  1. 1
    judgment fb_demo0001 The condensation run is the whole idea -- one physical change I can actuall…
  2. 2
    candidate cand_demo0001 C1 · aligned
  3. 3
    model draft memprop_demo0002 End on a clean product shot.
  4. 4
    human decision accepted · edited Keep the product legible in the final beat.
  5. 5
    accepted memory mem_demo0002 Keep the product legible in the final beat.
  6. 6
    later batch batch_demo0002 fp fp_demo0003 · 4 items in context
Return to Compare

What makes the memory modular?

Separate pieces of guidance, each with a source, a scope, and a decision.

A critique becomes a collection of instructions you can inspect and choose for another search. The original judgment remains available beside the accepted guidance.

01 / Separate

One idea per entry.

Preserve a physical transformation, keep the product legible, or avoid competing tricks. Each instruction can be reviewed on its own.

02 / Select

Choose the context for the next search.

The application offers all accepted memory, selected entries, or no memory for a batch. This record uses all four accepted entries.

03 / Trace

Keep the conditions of judgment.

Entries retain their scope, strength, source candidate, feedback, and approval history. The receipt shows where the instruction came from.

Inside the recorded example

The correction is part of the memory.

The critique asks for a legible product. The person can keep that intent while changing the model’s proposed solution.

Original judgment · C1
“But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”
Model proposal

End on a clean product shot.

A specific shot prescription.
Edited and accepted

Keep the product legible in the final beat.

The requirement survives; the next concept can solve it differently.
Inspect this memory’s source receipt

Accepted memory corpus

4
style_dna · preserve mem_demo0004

Lead with tactile material detail rather than general atmosphere.

active soft_preference reference_only scope skill
from judgment “The crawling sunlight is a real transformation and the creased linen is the kind of material detail I want. The problem is the bottle is just one more prop on a busy table -- by the last beat I still cannot see the product.”
avoid_element · avoid mem_demo0003

Do not stack competing visual tricks in one sixteen-second concept.

active soft_preference reference_only scope skill
from judgment “Too many tricks competing: rotating bars, a spinning wedge, a leaf shadow, and a negative flip in sixteen seconds. Pick one. The amber and green is also generic set dressing rather than anything you can feel.”
style_dna · preserve mem_demo0002

Keep the product legible in the final beat.

active soft_preference reference_only scope skill
from judgment “The condensation run is the whole idea -- one physical change I can actually shoot, and the beading reads expensive. But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”
style_dna · preserve mem_demo0001

Organize each concept around a single physical transformation that can actually be shot.

active soft_preference reference_only scope skill
from judgment “The condensation run is the whole idea -- one physical change I can actually shoot, and the beading reads expensive. But the bottle is never legible; I get texture and no product. Keep the transformation, end on the bottle.”

Proposer teaching set

5

Decided proposals only — pending items teach nothing. An edited-then-accepted proposal is the strongest signal, because it carries both the model’s draft and the human’s correction.

accepted_as_is

Organize each concept around a single physical transformation that can actually be shot.

weak positive
rejected

Avoid amber and green palettes.

strong negative
accepted_edited

End on a clean product shot. Keep the product legible in the final beat.

strongest

Memory change timeline

22

3 feedback · 11 proposal · 4 memory · 4 receipt

  1. Feedback added

    fb_demo0001

    The condensation run is the whole idea -- one physical change I can actually shoot, and the bea…

  2. Memory proposal created

    memprop_demo0001

    Organize each concept around a single physical transformation that can actually be shot.

  3. Memory proposal created

    memprop_demo0002

    Keep the product legible in the final beat.

  4. Proposal accepted

    memprop_demo0001

    Organize each concept around a single physical transformation that can actually be shot.

  5. Memory activated

    mem_demo0001

    Organize each concept around a single physical transformation that can actually be shot.

  6. Receipt available

    mem_demo0001

    A canonical Markdown receipt is available for this accepted memory.

History

The recorded session: both comparison sets, their fingerprints, and the exports.

Session recap

batchcandidatesmemorymemory fprecipe fp
013 0 items fp_demo0001 fp_demo0002
023 4 items fp_demo0003 fp_demo0004

Generated next batch from accepted memory.

Exports

From selector experiments to Idea Search.

The research motivated the design. The walkthrough demonstrates its mechanics.

Research observation

Useful preference signals depended on local human examples.

The creative-text experiments found the strongest automated signals with human-labeled responses to the same prompt. Specific comparisons preserved a preference boundary that averaging the reference set lost. Cross-prompt controls did not establish a general creative evaluator.

Explore the findings and controls

Engineering response

Give judgment a durable, inspectable form.

Idea Search preserves concrete alternatives, natural-language critique, and individual decisions about what should guide future work. Reuse is explicit: the person chooses which accepted instructions fit the next search.

Reusing guidance is a design choice that can be inspected. Its usefulness on a new prompt or project still needs to be judged.

Keep the reasoning inside the reaction.

“More like this” can mean its material, pacing, feasibility, or emotional effect. A natural-language critique can explain the distinction. Idea Search keeps that wording beside the candidate it refers to.

Make generalization a human decision.

A complaint about one crowded concept is not necessarily a ban on its colors. Accepting, editing, and rejecting proposals lets the person decide which lessons should outlive the example.

Know what the next search inherited.

A batch records the accepted memory supplied to generation and its fingerprint. The ledger and receipts connect that context to the judgments and decisions that created it.

I built the complete local application: candidate and batch versioning, prompt assembly, feedback analysis, memory decisions, generation handoffs, and their provenance records. This public showcase presents one recorded loop.

Architecture, source evidence, and limitations

What this page is

A static projection of one recorded session, laid out in the product’s own cockpit geometry. It is not the running React application: the recipe controls, Generate key, and decision buttons show recorded values and do nothing.

The model drafts prompts. You decide what carries forward.

Idea Search was originally developed as Subjective Skill Studio. The evidence remains tied to that application’s audited source snapshot. The public showcase is named Idea_Search_Showcase; the application source remains private.

Architecture

FastAPI + SQLite backend (async), React + Vite + TypeScript frontend, no component framework. A two-layer prompt assembly (meta-prompt → candidate template) feeds both the recipe preview and generation, with fingerprints over the accepted-memory corpus and the generation recipe deciding whether a new candidate appends to the current batch or starts a new one. This showcase drives the same FastAPI app in-process through TestClient using the project’s built-in mock provider — the identical code path a hosted LLM provider would run, with deterministic, non-networked output.

The creator problem

Creative feedback usually disappears between rounds: it stays in the creator’s head, a chat transcript, or an isolated note. Idea Search attaches that reasoning to the exact candidate being judged, and makes only explicitly approved guidance available to later generation.

What Eduardo built

The complete local application: batch and candidate versioning, recipe and meta-prompt assembly, natural-language feedback, proposal decisions, accepted-memory injection, optional artifact and rendering workflows, and the ledger, timeline, fingerprints, backlinks, and receipts that make the loop auditable.

Fixture scope & evidence

This deterministic walkthrough proves the application’s persistence, approval, scoping, and provenance mechanics. Its candidate prompts and memory proposals are a curated script returned by the built-in mock provider, not output from a hosted model, so nothing here demonstrates content-sensitive proposal quality or improved creative outputs.

The recorded candidate text, judgments, memory decisions, and stamps come from evidence/fixture/loop.json, generated by evidence/generate_fixture.py against source snapshot commit 82ed65dc01c2 (extraction root 04906b0, backend schema v4). Raw database ids and timestamps are non-deterministic by construction (uuid4, wall-clock); the generator canonicalizes them into stable tokens before writing evidence, so re-running it against the same snapshot reproduces byte-identical files.

Output files and hashes
pathsha256 (truncated)
evidence/fixture/loop.json cd79853f5e262f9c…
evidence/fixture/receipts/memory_receipt_1.md 7e535b3cd9d05664…
evidence/fixture/receipts/memory_receipt_2.md 918419fbedfaa28e…
evidence/fixture/receipts/session_receipt.md 7fca7c9d5f12b970…
Which claim each fixture step supports
claimfixture step(s)
workspace/project/skill creationcreate_workspace, create_project, create_skill
initial candidate batch (comparison set)generate_first_batch
one clear natural-language judgmentjudge_candidate_1, judge_candidate_2, judge_candidate_3
feedback analysis into pending proposalsanalyze_judgment_1, analyze_judgment_2, analyze_judgment_3
accept decisionaccept_proposal_one_transformation, accept_proposal_no_stacking, accept_proposal_tactile_detail
edit decisionedit_proposal_product_legible, accept_edited_proposal_product_legible
reject decisionreject_proposal_no_amber_green
pending proposals rail before a human decisionpending_proposal_prop_limit
a subsequent batch conditioned on accepted memorygenerate_next_batch
provenance receiptmemory_ledger, memory_timeline, memory_receipt_1, memory_receipt_2
a provenance or session receiptsession_receipt

uv run --project backend python evidence/generate_fixture.py && python3 site/build_site.py

Limitations

  • The candidate text and the drafted proposals are a curated, deterministic script returned by the built-in mock provider, not output from a hosted LLM — the walkthrough demonstrates control flow and the data model, not generation quality.
  • A product demonstration on synthetic data: not a benchmark, not evidence of production usage.
  • The interactive React/Vite frontend is not deployed here. This page reads the same backend output the UI would render and lays it out in the same cockpit geometry, but nothing on it is live.
  • This repository and the application it showcases are closed source — © 2026 Eduardo Cortes. All rights reserved. Public availability does not grant a license to copy, modify, redistribute, or reuse the application, this site, or its evidence.