Finding events
The home page
The landing page opens with a rotating hero of popular upcoming events, then a stack of horizontal rails grouped by when (“Today / Tonight”, “This weekend”, “Coming up this week”, “Later”), then a rail per popular category. Tiles are 4:3 with a date chip, the title, venue and city, and a tag or two.
Swipe on touch, scroll horizontally on a trackpad, hover for chevrons with a mouse.
The location pill
Top-left, next to the search. Tap it for:
- Use my current location — asks the browser for permission, then snaps to your area. Reverse-geocoded to a human-readable city.
- Everywhere — drops the location filter entirely. You see what we’ve got, from wherever.
- Type a place — autocomplete combines cities Swirl already covers (these surface first, fast) with worldwide cities from Mapbox (debounced ~220ms after you stop typing).
- Recent locations — your last few picks. Each row has a small × if you want to forget it.
- Radius — 5, 10, 25, 50, 100. Toggle between mi and km with the unit pill.
Your pick sticks across sessions, in your browser only. Changing it reshuffles every tile and rail in place — no page reload.
Location-aware URLs
Pick a place from the popover and the URL becomes something like:
swirl.events/near/us/california/oakland/25mi/It’s shareable — anyone opening it sees Oakland events within 25 miles, regardless of where they are. The /near/... prefix sticks as you browse to /browse, categories, and search, and falls away on individual event pages (those are canonical from anywhere).
Filtering on /browse
Hit Browse or any category in the top nav for the grid view. Two chip rows sit above the events:
When:
- All upcoming (default)
- Today
- Tonight — only shows after 5pm; before that, “Today” covers it
- This weekend — anchored on the most recent Friday, so a Saturday morning event reads as “This weekend”, not “Next weekend”
- This week
- Recent past — events that wrapped in the last 14 days
Category: the eight most popular tags appear inline; the rest live in a searchable “More” popover. Whatever’s active stays pinned to the visible row even if it’d otherwise overflow.
Chips are mutually exclusive within each row.
Search
Top-right in the header. Type and hit Enter — you land on /browse?q=... with results matched against title, tags, venue, host, city, and description.
Your last several searches show up in a dropdown when the input is empty and focused. Each has a × if you want to wipe it.
Recurring series
A weekly thing shows up as one tile, with “+11 more upcoming” if there are eleven more dates. Tap to see the series page — cadence (“Weekly · Tuesdays at 4:00 PM”), full occurrence list, the works. Recent-past events skip the collapse so each one shows individually.
”Interested”
Every tile has a small bookmark icon in the corner. Tap to add the event to your Interested list at swirl.events/watching. No sign-in, no server — it lives in your browser. See RSVP & Interested for the longer story.
What “near you” means
By default we use a city-level approximation from a one-time IP lookup on your first visit. Want tighter? Tap Use my current location. Want to skip device location entirely? Just type your city in the popover — the result’s identical.