Product backlog
Ideas we have agreed to explore but have not shipped yet. When work starts it moves to our dev changelog; when it ships it appears in release notes.
Real open work
### Venue Cleanup Part 2 leftovers
What this means: Admin tools so junk venues and wrong towns stop coming back. A lot already shipped in August (soft-merge, Unmerge, Places town correction, heal modal, delete venue+events, slug aliases). What’s left is the unfinished product polish — not “venues are broken.”
| Item | What’s left (plain English) | | --- | --- | | COMPLETED parity | Heal lists still lean on SCHEDULED events and under-count ended ones | | Local Calendar | Create/heal can strip “Local Calendar” chrome; leftover junk rows still need an operator pass | | Places/FS empty UX | Enrich still pushes “paste a URL” when Maps/Foursquare miss | | Gemini tiebreak | No “ask Gemini only when Places/FS disagree” helper yet | | Wrong-town Needs-attention | Dedup review exists; no dedicated “same name, wrong town” attention queue | | Search identity | Search doesn’t match cleaned display labels well | | Key venue flag | No “freeze this important venue” flag (`keyVenueAt`) |
Skip unless you care: Gemini, Key venue, Needs-attention UX.
### Neon leftovers (optional)
| Item | Status | Plain English | | --- | --- | --- | | Scrape-cron enqueue batching | Done (2026-09-02) | Cadence used to query soonest-event + quiet-streak per source; now two batched queries | | Slim admin Jobs poll | Still open | While Jobs/Sources is open with active work, poll still reloads every source + heavy event counts — only matters if Neon bill still hurts while you’re in admin | | Memory-pool ceilings | Still open | Some `/api/events` sorts load big candidate sets into Node on cache miss |
Won’t do: Neon `dev` delete, further scrape-cron frequency cuts, Bing follow-up, public status pages.
### Parked (not a push)
- Venue photo gallery — multi-image album + upload (Hero/Logo already exist)
- Facebook — Social lane, badges, auto-disable, weekly floor already shipped. Residual “some FB URLs still extract 0” is publisher/HTML reality + ToS limits, not a missing lane. Leave alone unless a specific source is broken.
- Cool scoring / SEO town landings / karaoke weekly calendars / crawl cost dashboard / accounts — future product
---
Done recently
- Batched scrape-cron enqueue (soonest + quiet streak)
- Unused-code cleanup (Preview smoke, unwired deploy scripts, spent stamps)
- Tiered ISR + 6h cron + leaner public Neon queries (on `dev`)
- Aug reliability / venues / feature articles — see releases/
---
Deploy hygiene
No hooks in `prisma-post-db-push.mjs`. Other historical PlatformSettings one-shot stamps may sit until a later tidy.
