FOMO
A cron-driven pipeline that scrapes events from 9+ sources, scores them with a local LLM, and writes the best ones to Google Calendar.
Details
I kept missing good events in SF because I never checked the right site at the right time. FOMO fixes that- it scrapes 9+ sources, has a local LLM score each event, and drops the best ones straight into my Google Calendar. Runs on cron, no server.
The pipeline
- Scrape 9+ event sources in parallel (DoTheBay, Fandango, FunCheap, Lectures on Tap, etc.)
- Filter out past events
- Auto-pass movies on my watchlist and artists from my Spotify top 200
- Score everything else 0-10 with a local LLM against my preference profile
- Drop anything below the FOMO threshold (e.g., 9.2)
- Write survivors to Google Calendar with score, reason, emoji, and source links
Events get fingerprinted so re-runs don’t create duplicates. If a scraper fails, it falls back to cached results- one broken source doesn’t kill the run.
Why a 3B model on my laptop
Because I’m cheap. But a 3B model on Apple Silicon handles this fine at ~19 tok/s- the task is just scoring an event against a user profile and spitting out a number and a sentence. No API costs, no rate limits.
The hard part was prompt calibration. My prompt includes specific cuisines I like, artists, genres, hard dislikes, and a blacklist. I had to add score anchors telling the model that 9+ means “would drop everything” and that fewer than 0.5% of events should qualify. Before that, everything scored 6-8 and the filter was useless. After calibration it started surfacing things I’d never have found on my own- Repair Cafe SF, Lectures on Tap- while still catching obvious fits like Lord of the Rings at Alamo Drafthouse. No fine-tuning needed.
Source on GitHub.
Gallery