STEM Ecosystem
A revamp of the San Diego STEM Ecosystem site, centered on a scraper-fed event aggregator that pulls kid-friendly STEM happenings from across the region into one searchable calendar.
The problem
San Diego is full of casual, kid-friendly STEM events — beach cleanups, tide-pool walks, astronomy nights, bug-collecting field days, museum free-admission days, “pet the sharks” sessions at aquariums, citizen-science bird counts, robotics open houses. They’re run by dozens of different organizations: the Birch Aquarium, the Fleet Science Center, the Natural History Museum, regional parks, Audubon chapters, university outreach groups, and a long tail of small nonprofits and clubs.
The information lives in dozens of separate event calendars, Eventbrite pages, Facebook events, and PDFs. A parent looking for “something STEM-y to do with the kids on Saturday” has no single place to look. The current sdstemecosystem.org site is a partner directory, not a calendar — it lists organizations but not what they’re doing this weekend.
Users
- Parents and caregivers looking for weekend or after-school STEM activities for their kids.
- Teachers and youth-group leaders scouting field-trip targets or extra-credit opportunities.
- Partner organizations that want their events to show up in a regional calendar without having to publish them in two places.
- Site editors who curate, tag, and clean up scraped data.
What the app does
- Scrapes events from a configurable list of partner sites — museums, aquariums, parks, universities, nonprofits — on a schedule.
- Normalizes each scraped event into a common shape: title, description, date and time, location, age range, cost, source URL, organization.
- Tags events with STEM categories (astronomy, marine biology, coding, engineering, ecology, etc.) and audience (toddlers, grade school, middle school, families).
- Presents a searchable, filterable event calendar — by date range, category, age, neighborhood, cost.
- Provides an editor view where humans can review newly scraped events, fix bad data, hide duplicates, or promote an event to “featured.”
- Keeps the existing partner directory but ties each partner to the events scraped from its site.
Core pieces to build
- A scraper framework with a per-source adapter — each partner site needs its own small extractor (HTML, RSS, ICS feed, Eventbrite API, etc.).
- A scheduled job runner to refresh sources without overwhelming them.
- An event model with normalized fields, source provenance, and a dedup key.
- A tagging / categorization step, possibly with an LLM-assisted first pass that an editor reviews.
- A public calendar UI with filters and a map view.
- An admin UI for source management, event review, and overrides.
Possible stretch features
- Email or SMS subscriptions: “tell me about astronomy events for ages 8–12 within 20 miles.”
- A submission form for organizations whose sites aren’t scrapeable.
- Auto-detection of recurring events and series.
- iCal / Google Calendar export of any filtered view.
- A “this weekend” digest published as a newsletter.
- Photos and short summaries auto-generated from the source page.
- Attendance check-ins or a passport program — kids earn badges for visiting different STEM sites over the summer.