A community-driven local events aggregator
A freelancer manually visits dozens of venue websites each week to compile the events list
Output is a long, unstructured list that's difficult to scan and parse through
No way to filter by date, category, venue, or location - you have to read everything
Can't see events by location or find what's happening near you
What if we could automate this and make it searchable?
An automated system that aggregates events from local venues
and makes them searchable in one place
Local sources
Daily collection
Quality control
Easy access
User interface
Events from venues across Cambridge, Somerville, and Harvard Square
Each venue has a custom scraper that understands its website structure
Automated browsers visit venue websites and retrieve their event listings
Extract event details: title, date, time, venue, description, and category
Ensure events have required fields, valid dates, and clean formatting
Remove duplicate events that appear on multiple sites
Built with modern, reliable open-source tools
Python scrapers with FastAPI serving a REST API
GitHub Actions runs scrapers daily at 6 AM UTC
Railway auto-deploys on every push to main
Groq's Llama 3.3 70B for natural language queries
A clean, fast API that developers can build on
List all events with filtering by date, category, venue
Full-text search across titles and descriptions
Lightweight endpoint for maps and lists
Music, Theater, Lectures, Food & Drink, and more
See all venues we aggregate from
Event counts and data freshness info
Ask questions in natural language and get personalized recommendations
"What jazz shows are happening this weekend?"
"What can I do with my toddler on Saturday?"
"Free events near Harvard Square tonight"
Remembers conversation context for follow-up questions
Powered by Llama 3.3 70B via Groq - fast inference with 500 events in context
Events are automatically categorized for easy discovery
Concerts, jazz, folk, rock, classical performances
Plays, comedy shows, improv, musicals
Museum exhibits, gallery openings, art shows
Author readings, talks, book signings, seminars
Tastings, brewery events, food festivals
Meetups, fundraisers, volunteer opportunities
Add events directly to your personal calendar with one click
Direct link opens Google Calendar with event pre-filled
Works with Outlook.com and Office 365 calendars
Download .ics file for Apple Calendar, any app
/events/{id}/calendar.ics for programmatic access
Multiple layers ensure accurate, useful event data
Raw data
Fix formatting
Check required fields
Add coordinates
Remove copies
The system runs itself with no manual intervention needed
GitHub Actions triggers scrapers every day at 6 AM UTC automatically
New events are committed to the repository and pushed
Railway detects changes and deploys the updated API instantly
Logs track scraper health and catch any issues early
Fresh data every day, covering events for the next 30+ days
Users can submit events that aren't captured by scrapers
Simple web form to add community events, private gatherings, or one-off happenings
Admins receive email alerts when new events are submitted for review
Events are reviewed and approved before appearing publicly
Approved events are automatically added to the main database
The entire project is available on GitHub
See exactly how every scraper works and how data is processed
Easy to add new venue scrapers following the base pattern
Anyone can submit pull requests for new features or venues
Clear instructions for running locally and adding scrapers
Discover what's happening in your neighborhood this week
Find free lectures, concerts, and campus events
Family-friendly filtering helps find kid-appropriate activities
Build apps using the free API - no authentication required
The API is live and free to use
web-production-00281.up.railway.app
/docs (Swagger UI)
Questions?
Built with Python, FastAPI, and a love for local community
GitHub: github.com/karakotaram/cambridge-events-api