The comprehensive calendar of in-person Utah tech events. Meetups, conferences, founder mixers, AI nights, hardware hacks, and design talks across Salt Lake City, Provo, Lehi, Ogden, and Silicon Slope
SocialTypeScript · PLpgSQLGitHub @bnjreeceOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
A free, comprehensive calendar of in-person Utah tech events
Translation pending
Loading the full README.
Read the full README ↗A free, comprehensive calendar of in-person Utah tech events — meetups, conferences, founder mixers, and developer nights across Salt Lake City, Provo, Lehi, Ogden, and Silicon Slopes.
Live at utahtechcalendar.com. No login, no tracking, nothing to sign up for.
The Utah tech scene is busy, but it lives in a dozen places at once: Meetup, Luma, Eventbrite, Substack, and a scatter of org sites. This project pulls all of it into one filterable page so you can answer "what's the AI thing in Lehi on Thursday" in one read instead of opening five tabs.
Three things it aims to do well:
sources table ──> scraper adapters ──> events table ──> filtered UI + feeds (iCal/RSS/email)
sources table names an adapter and a URL (plus optional JSON config).events on (source, external_id).events at query time; region is derived from city, not stored, so there's one source of truth.| Adapter | Source |
|---|---|
meetup | Meetup group event lists |
luma | lu.ma calendars |
eventbrite | Eventbrite search/org pages |
siliconSlopes | Silicon Slopes (Circle.so) |
substack | Substack newsletter events |
utahGeekEvents | Utah Geek Events |
recurrence | Generated recurring series (e.g. 1 Million Cups) |
htmlCalendar | Generic HTML/JSON-LD calendars (BioUtah, Altitude Lab, SAINTCON, …) |
Adding a new source usually means inserting a sources row — no code — as long as an existing adapter fits. New kinds of source need a new adapter. See CONTRIBUTING.md.
CRON_SECRET Bearer authbun install
cp .env.local.example .env.local # fill in the values (see below)
bun run dev # http://localhost:3000
You need a Postgres database (Neon's free tier is plenty). Required env vars are documented in .env.local.example; the only one needed to boot the UI against a seeded DB is DATABASE_URL.
bun run db:push # apply schema to your DB
bun scripts/seed-sources.ts # populate the sources table
bun scripts/one-shot-scrape.ts <adapter> <url> # try an adapter ad-hoc
Contributions welcome — new sources, adapters, filters, and bug reports. Start with CONTRIBUTING.md and the open issues. Adding your group's calendar can be as small as one row.
Built and maintained together, as equals:
Utah Tech Calendar is the combined successor to utahdev.events, merging forces to give the community one comprehensive, well-filtered place to find in-person tech events.
Built in partnership with the Forge Utah Foundation — helping Utah technologists share, learn, and build (GitHub). 🙌
MIT © Benjamin Reece & Clint Berry