[00:00.142] POST /v1/run/score_batch {"leads":5,"rubric":"..."}
[00:00.298] fetch ramp.com ← 200 OK (156ms)
[00:00.612] gemini: "Ramp is a RevOps-focused ICP..." tokens=184
[00:00.904] score ramp.com = 9.2 (confidence 0.91)
[00:01.231] fetch linear.app ← 200 OK (142ms)
[00:01.488] gemini: "Linear is a founder-led PLG tool..." tokens=167
[00:01.662] score linear.app = 8.8 (confidence 0.88)
[00:02.014] fetch figma.com ← streaming
Live run · share link activates when complete
ISSUE #358 · non-dev output = light progress bar + step list + optional dev log under “Show details”. Not a black terminal.
Mobile · 375px · State B (saved secret)
floom.dev/p/lead-scorer
LS
Lead Scorer
by team-floom
Needs GEMINI_API_KEY
v17 notes · Issues #358 + #360
State A · rate-limit then BYOK: anonymous user gets 5 free runs on Floom’s key, then a modal asks for their own. “Save this key to my account” converts them into a signup in one step.
State B · saved secret referenced: signed-in user with a key in /me/secrets sees the picker automatically. Radio picks “use saved” by default, with a “paste a different key for this run” escape hatch.
State C · light progress UI: not a black terminal. Green pulse, progress bar, step-by-step human-readable list with check marks. Dev log is opt-in under “Show details” (issue #358).
Topbar always carries: star button (#361), remix button (#356), install in Claude. Consistent across app pages.
Secret value is never shown in the input column beyond the masked tail (AIza…3f2a). Rotating happens in /me/secrets, not here.
Proxied, not embedded. Floom substitutes the key at request time. The run-time container never sees the bare value in headers or env at rest.