Loading post…
Loading Detroit Meets…
Loading post…
The app looks different on purpose. Meet cards, home, menu, and detail got a sharp redesign — square geometry, clearer type, calmer surfaces. Under that: home search that reaches the full catalog, flyer photo upload on submit, sharper Instagram paste, auto-cleanup for past saved meets (1 day by default), offline drive times, and color palettes in Menu. Plus we cut a few features that weren’t earning their keep.
UI refresh — the whole product surface. This is the part you’ll notice before anything else. We moved onto a tighter design system: sharp corners (rounded-none instead of soft pills), Roboto headings + Inter body, and Tabler icons end-to-end. Meet cards are rebuilt around square cover photos, cleaner title/meta hierarchy, and quieter badges. Filter chips, the spotlight rail, home header, menu rows, and meet detail (sticky actions, quick stats, weather/sun) all follow the same language — dark-first, hairline borders, less chrome, more scan. Menu → Look & feel still has theme / OLED, and now base color palettes (Neutral, Zinc, Stone, Slate, and friends) if you want the neutrals to lean a different way. Same product, new lot.
Home search that reaches the full catalog. Typing in the search bar still filters what’s already on your feed, and when that isn’t enough we hit a server full-text + fuzzy title search so a meet buried further down the schedule can still surface. Same bar, fewer “why can’t I find it” moments.
Submit a meet — attach a flyer photo. Don’t have an Instagram link? On the Flyer & links step you can upload a JPEG/PNG/WebP/GIF (up to 10 MB). We mirror it for moderators as a suggested cover — same path as paste-from-link, without needing a URL.
Instagram prefill — less caption garbage, clearer failures. Paste-from-link now prefers what’s on the flyer for title and description instead of scraping the caption. If AI or cover mirroring can’t finish the job, the form tells you instead of silently leaving fields empty so you can attach a flyer yourself.
Postgres full-text + trigram indexes on meets (0031). Public flyer upload endpoint with a tight per-IP rate limit and Catbox mirror. Playwright e2e in CI when a database secret is present. Admin command palette. schema.org Event JSON-LD on listing surfaces. Shared shadcn field/input-group primitives and the Lucide → Tabler migration that make the UI refresh hold together.
Material updates effective July 10, 2026 — on-device base-color appearance preference; optional auto-removal of past saved meets; last-known drive-time cache for offline detail; map tile cache disclosure updated now that Menu no longer exposes a budget control. Full diff on Privacy Policy. June’s platform log is the June 2026 Transparency Report.
Detroit Meets on the App Store · @alex.30mm on Instagram
(Android is coming soon TM, I promise...)
Auto-remove past saved meets. Saved meets that are over can drop off your list after a retention window you choose — 1 day by default (also 7, 14, 30, or off). Timing is end-of-day Eastern: the meet stays through the last kept day, then goes when the app runs the next morning. Control it from the saved-meets screen. Local only — we don’t invent a new server “archive” account.
Offline drive-time memory. When you’ve already gotten a drive estimate to a venue, we keep a last-known ETA on your device (about a week) so meet detail can still show miles/minutes when the lot has no bars. No coordinates leave the phone for this cache.
Support page that points somewhere useful. Clearer primary CTAs (email / Instagram) and quick links to status, submit, submission status, and privacy — less “stare at a wall of prose,” same sharp layout language as the rest of the app.
Home header for returning visitors. After you’ve been to the feed once, the header stays calmer and still surfaces how many meets are live right now when that matters.
Admin meet form — tabbed wizard + live card preview. Staff editing a meet get a step-through form with a preview of the public card before save. You won’t see this unless you’re on the organizer side; listings get more consistent because of it.