• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
nbbaier

nbbaier

chicago-resident-days

Public
Like
chicago-resident-days
Home
Code
10
.claude
1
backend
7
docs
3
.vtignore
AGENTS.md
CLAUDE.md
README.md
biome.json
deno.json
new-file-9054.ts
Environment variables
2
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
backend
/
README.md
Code
/
backend
/
README.md
Search
1/26/2026
Viewing readonly version of main branch: v35
View latest version
README.md

Chicago Free Museum Days - Backend

Val Town backend for scraping, storing, and serving Chicago free museum day data.

Vals

FileTypeDescription
db.tsScriptDatabase functions (SQLite)
scrapeChooseChicago.tsScriptChoose Chicago HTML scraper
utils.tsScriptDate normalization utilities
scraper.cron.tsCronMonthly scraper orchestrator
bot.cron.tsCronWeekly Bluesky poster (Mondays 8am CT)
api.http.tsHTTPPublic JSON API

Setup

  1. Deploy to Val Town
  2. Set secrets: BLUESKY_HANDLE, BLUESKY_PASSWORD
  3. Run scraper.cron.ts manually to populate initial data
  4. Schedule scraper.cron.ts monthly (first Monday)
  5. Schedule bot.cron.ts weekly (Mondays 8am CT → 0 14 * * 1 UTC in winter, 0 13 * * 1 in summer)

API Endpoints

  • GET / - API documentation
  • GET /free-days?start=YYYY-MM-DD&end=YYYY-MM-DD - Free days in date range
  • GET /upcoming - Next 7 days
  • GET /today - Today's free days
  • GET /institutions - List all museums
  • GET /health - Health check

Database Tables

  • scraped_free_days - Auto-populated by scrapers
  • free_days_overrides - Manual corrections (win on conflicts)
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.