About · Methodology
How this site is built
West Loop Vibe is a citation-based neighborhood index. Every business, event, transit stop, and food-inspection record is pulled from a public dataset and refreshed each week. There are no opinions, no rankings, no reviews. This page documents how it works — what's in the data, what's not, and how to correct anything that's wrong.
The citation rule
Nothing appears on this site without a verifiable public source. The build
fails outright if a business or event record is missing a source URL and a
retrieval date. This isn't aspirational — it's enforced by the schema in
src/content.config.ts, and a typo in a citation will break
the deploy. The rule has one practical consequence: if you can't find
something here, it usually means the source dataset doesn't have it yet,
or it's outside the City's West Loop classification.
Source tiers
Sources are arranged in tiers, with later tiers only filling gaps — never overriding — what earlier tiers already say:
- Open data and platforms. The Chicago Data Portal for business licenses, events, food inspections, transit, and ridership; OpenStreetMap for point geometry, plus phone, website, and hours where its records carry them; OpenFreeMap for map tiles.
- Each business's own website. The first source for phone numbers and opening hours, plus short descriptions, taglines, founding years, and menu/reservation links — paraphrased only from what each business publishes themselves. See /sources/business-websites.
- Verified public listings. Where a business publishes
no phone or hours on its own site, its public Yelp or Google Maps
listing fills the gap — each value checked against the listing before
it ships, and the source recorded per field. Listings only; reviews
are never used. Wikipedia, Wikidata, and Google Places also ground
each business's identity (the
sameAslinks in page metadata). See /sources. - Published Chicago dining guides. Five guides whose mentions back the "Featured in N published guides" badge on business pages. See /sources/published-guides.
- U.S. Census ACS. Demographics on /west-loop/at-a-glance. See /sources/census-acs for the vintage and scope.
For the full per-source detail — dataset IDs, refresh cadence, licensing, and where each appears on the site — see /sources.
The refresh cadence
A scheduled job runs every Monday morning at 8 AM Chicago time. It re-pulls all of the City datasets, re-runs the OpenStreetMap match, regenerates the audit documents, and redeploys. The full refresh takes about ten minutes. Failures notify the maintainer through a macOS notification; if no notification arrives by Monday afternoon, the deploy went through.
The hand-curated enrichments (the website and verified-listing tiers
above) are added in batches at irregular intervals. Each enrichment
carries its own verified_at date, and a re-verification
queue surfaces anything older than six months for a fresh check.
What the site won't do
Several things that other neighborhood guides do are off the table here, deliberately:
- No reviews, ratings, or rankings. The site lists every
license-holder the City reports — not a curated "best of" by some
private editorial standard. The
/best/*pages are curated lists, but each pick is described in factual terms, paraphrased from the business's own site, and no scoring or comparison language is used. - No aggregated reviews from other platforms. Yelp and Google Reviews exist; they do that well; we don't duplicate them.
- No user-submitted content. Everything on the site comes from a citable public source. No reader-submitted tips, photos, or comments — the upkeep cost of moderating those would compromise the quiet-index character of the site.
- No paid placements. Brand pages and the
/hotelscomparison are editorial. Nothing on the site is sponsored, promoted, or paid for. - No ads. Not now, not planned.
- No newsletter or lead capture. If you want to keep up with new businesses or events, the .ics calendar feed is the closest thing — subscribe in your calendar app and new events appear automatically.
The closure mechanism
When a business closes for good, its page doesn't disappear — bookmarks and inbound links still resolve, but the page renders as a "permanently closed" notice with the source URL that verified the closure. Closed businesses are removed from the directory, the map, the category pages, and the sitemap; the standalone page stays as a quiet archive. The current closure log is on the corrections page.
When OpenStreetMap is wrong
Most phone numbers and hours on the site now come from each business's
own website or a verified public listing, with the source recorded per
field — OpenStreetMap supplies those fields only on the subset of
listings still labeled OSM-sourced. Sometimes that OSM record is stale
or incorrect — a since-changed phone number, an old website, a closed
business still tagged as active. When a curated enrichment surfaces one
of these, the case is logged in an internal OSM-edit queue. Some of those
edits are then made upstream on OpenStreetMap itself, so the correction
propagates to every other site that uses OSM, not just this one. The
queue lives at audit/osm-edits.md in the project repo and
is mirrored on the corrections page.
How to correct something
Because every fact on this site is sourced from a public dataset, the most durable way to fix an error is to fix the source — the correction then flows back here on the next Monday refresh.
- Wrong name, address, ward, or license type — the data comes from the City of Chicago. The business needs to update its license record with the City. How to update a business license →
- Wrong phone, website, or hours — that data comes from the business's own website first, then a verified Yelp or Google Maps listing, then OpenStreetMap, with the source recorded per field. The durable fix is at whichever source is wrong: a business that updates its own site or public listing is picked up on re-verification. If the field is OSM-sourced, anyone can fix it upstream. Edit on OpenStreetMap →
- A closed business still listed — closures are marked only when a public source confirms them: a news report, the business's own announcement, or the City license record lapsing. Each verified closure is logged on the corrections page.
- A bug on the site itself, or a question about how something works — reach out via the project's repository (link coming when the repo is made public).
The schema strategy
Every page emits machine-readable JSON-LD describing what's on it. Each
business uses a specialised schema.org type — Restaurant,
Hotel, BarOrPub, BeautySalon,
SubwayStation — rather than the generic
LocalBusiness, so search engines and AI overviews understand
what kind of place it is. Events emit Event schema with a
partial Offer for ticketed events. The whole site is knit together by a
stable entity graph — one Organization, one
WebSite, one Place for the West Loop, one
Person for the editor — and every page references those by
stable @id. The result: a crawler can build a coherent
picture of the site from a single page visit.
What's open-source about this
The site's code is MIT-licensed (see
LICENSE-CODE in the project repository). The site's
content — page copy, headings, prose — is CC BY-NC 4.0
(see LICENSE-CONTENT). Third-party data retains its
original license, attributed where used. The project repository will be
made public once a few internal infrastructure details are scrubbed.
What changed recently
Page-level dateModified values on every business and event
reflect when the source data was last refreshed; sitewide
dateModified reflects the latest source retrieval across
all data. The Monday refresh log is internal; the visible
corrections page covers content changes the
weekly refresh doesn't capture (manual closures, OSM-edit submissions,
page restructures).
Questions or doubts
If a fact on this site looks wrong, follow the correction steps above — that's the fastest path. If something about the methodology itself is unclear or feels off, the maintainer is reachable through the project repository once it's public. In the meantime: every claim on every page points to its source, and the source is the authoritative answer.