Flower Factory
PROD — you are editing the live database. Changes are served to the app immediately.
Factory
Seasons
UGC
1. Prompt template
—
{FLOWER_NAME}
gets replaced by each flower name. Optional
{SCIENTIFIC_NAME}
is filled in by the import list (section 7); if omitted there, the scientific name is appended to the common name automatically.
2. Flower names
— one per line
count
hint
Generate names with AI
3. Batch generate
parallelism
Generate all
Retry failed
4. Generated flowers
Refresh
Download all as ZIP
Download flower.json
Download first 10 images + full JSON (ZIP)
Download remaining images (ZIP)
Push pack to prod
Sync missing flowers to prod
Random goals (all)
min
max
5. Crossbreed test
parent A
name
parent B
name
Crossbreed
6. Botanical metadata
— resolve each common name to a species and pull family, genus & native range from
GBIF
(backbone: Kew's WCVP), with a link to the
POWO
page
parallelism
re-enrich already-done
Enrich all flowers
Download all metadata (JSON)
download this flower's JSON
close
7. Import list
— paste rows of
Common name | Scientific name
(markdown tables ok). Renders each image from the scientific name and pulls its metadata automatically. Uses the template in section 1.
parallelism
skip names already in gallery
Generate + enrich all
Retry failed
8. Background removal
— cut each flower out onto a transparent background with PhotoRoom, saved as a copy (the original image is kept)
parallelism
skip images already done
Remove bg for all
Download bg-removed + metadata (ZIP)
S1. Seasons
— one weekly roster of 10 flowers (5 free + 5 premium), served centrally to every user. Seasons are database records; the serving instance picks the week that is current and rolls forward on its own. When editing locally, push seasons to prod as records (flowers must be synced there first). Badges are checked live against prod:
on prod now
is the week the app is serving,
on prod ✓
is stored and waiting,
not on prod (stale push)
means the local "pushed" stamp is out of date (re-push it).
current (local)
only affects this machine's
/api/season/current
.
Refresh
Sync all seasons to prod
S2. Create / edit a season
— pick exactly 10 flowers below, mark 5 as premium
week start
Next open week
Auto-pick 10 unused
Clear
Create season
Save & push to prod
Cancel edit
filter
hide flowers already in a season
hide flowers without a goal
U1. Creator pages
— password-gated "camera-ready" reset capability for UGC creators. The creator-facing page lives on the landing site; each row here is one creator's link + password. Every reset press: premium on, fresh 21-day step history, spins set to a random 3–5, and the leaderboard staged — a persistent squad of fake friends (from the U3 roster) with scores re-dealt around the creator's book so the rank is a per-take surprise. The season book-fill happens only on the first press. Disable pauses the link; delete revokes it (the creator's already-applied state stays).
Create page
creator page base URL:
(used for the copy-link buttons; saved in this browser)
U2. Pages
creator
code
link
password
resets
last used
status
U3. Fake-people roster
— curated fictional friends (name + profile picture) the reset draws from when it stages a creator's leaderboard squad. Each person is assigned to at most one creator, so the same face never shows up in two creators' videos; squad size is random per creator (mostly 4–6 friends, sometimes 10–12) and sticks. Scores are re-dealt per press around the creator's book; people without photos fall back to a built-in name pool.
ugc-cleanup
releases a creator's people back into the pool.
Add person
Generate 100 people
realistic mix: full names, first names, handles, random words
batch photos:
Upload & auto-assign
each image goes to a person without a photo; downsized to 256px max side
photo
name
assigned to