Skip to content
siiddhanttPublic

About

Source-first city event discovery with verified, self-healing Scraper Studio collectors

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Baahar's B and open-door mark

Baahar

One place for the city plans hiding across official calendars.

Explore Baahar ↗ · See the sources · Bring Baahar to your city

Live Quality License

Baahar moving through the city chooser, Bengaluru event feed, and an event detail

What Baahar is

Event information is already online, but it is scattered across venue pages, theatre schedules, cultural calendars, universities, and organisers' booking systems. Baahar brings those public facts into one calm city guide and always links each plan back to its official page.

In this project, scraping simply means software reading a public page and copying the useful facts a person could see there—the title, date, time, venue, price, and official link. It does not mean guessing missing details or collecting private information.

Baahar performs that work on a shared schedule, not when somebody opens the website. One collection can therefore update the feed for every visitor. Today, seven reviewed collectors support Bengaluru, Delhi, Mumbai, and Varanasi. Those four cities are the starting map, not the boundary.

From official page to city feed

  1. Choose a useful source. A person reviews the page, its authority, access rules, current inventory, and the smallest reliable way to read it.
  2. Collect on a schedule. A Bright Data Scraper Studio collector fetches the approved page or public endpoint. Each source has its own versioned worker and strict request limits.
  3. Verify before publishing. Baahar stores the raw response as evidence, converts every event into the same 27-field shape, and checks dates, links, duplicates, counts, and source identity.
  4. Serve the verified result. PostgreSQL keeps event history; the Go API serves the public data; the React app turns it into browsable city plans.

If a run fails or suddenly looks wrong, Baahar does not replace the feed with empty or suspicious data. The last verified events stay visible while the same collector is reviewed and repaired.

Baahar architecture from official city sources through collection, evidence, validation, and the public experience

The diagram is editable in Excalidraw.

What visitors can do

  • browse upcoming plans by city, date, category, venue, or free entry;
  • ask Mau for something in ordinary language and open the verified plans it found;
  • open a clear event detail with its official source;
  • save plans on the device, share them, or open a pre-filled Google/Outlook calendar entry (with a standards-based calendar file as fallback); and
  • see source counts without being told that Baahar covers an entire city.

Meet Mau

Mau sleeping beside the city board
Resting until needed
Mau stays out of the way at the bottom of the board.
Mau awake and ready to find a plan
Listening for a plan
Try “free music in Bengaluru this weekend” or “Prithvi tomorrow.”

Mau turns that request into a city, time window, category, venue, and free-entry preference. The Go API checks every value against Baahar's real city catalogue, then runs the same verified feed query used by the filters. Mau can narrow the board; it cannot invent an event. If the language service is unavailable, the city guide keeps working and Mau quietly asks you to try again.

Live coverage

City Verified sources What they add
Bengaluru BIC, Jagriti Theatre, Atta Galatta, BIEC Culture, theatre, books, workshops, talks and expos
Delhi The Piano Man Public music sessions across two Delhi venues
Mumbai Prithvi Theatre Theatre, music, arts and talks
Varanasi BHU Academic Events Public workshops and academic programmes

Coverage is deliberately source-counted. Development and access-limited work lives in the source registry without leaking into the public feed.

Growing city by city

Baahar can add a city without adding a city-specific product path. A local lead becomes a reviewed source folder, the collector emits the same event contract, and the city is enabled only after its feed passes the existing publication checks. Community suggestions expand the map; they never bypass the trust bar.

Built for change

Baahar has already exercised the full recovery path on BIEC: a controlled selector change broke the Development preview, the public feed remained live, Bright Data repaired the same collector ID, a person reviewed the diff, and the repaired version published 9/9 valid events. Replaying the saved raw object reproduced the same result without another collection call.

Read the BIEC evidence ledger →

Roadmap

  • Four public city feeds backed by seven verified sources
  • Venue-aware filters, guided discovery, local saves, sharing, and calendar actions
  • Last-known-good publication and a same-collector repair demonstration
  • Open the next community-requested city through the same verified path
  • More independent official sources in every live city
  • “More on this day” suggestions from the same verified feed
  • Venue maps only when a source provides trustworthy coordinates
  • Optional cross-device sync for saved plans

Inside the repository

apps/web/     React city experience
cmd/          Go API, worker, and migration entry points
contracts/    Shared event and Scraper Studio schemas
internal/     Collection, validation, storage, health, and HTTP packages
migrations/   Reviewed PostgreSQL changes
sources/      Collector workers, mappings, tests, and evidence by city

Scraper Studio runs the deployed collectors. The public sources/ directory is their durable source control: it records what a collector may request, how facts map into Baahar, how identity stays stable, and what a preview or repair proved. When a source changes, the approved Studio worker is synchronized back here and tested again. Credentials and raw private datasets are never committed.

For a deeper look:

Contributing

Bring Baahar local knowledge, not just code. Suggest a city, share an official source, or propose a feature. The contribution guide explains how a lead becomes a verified part of the public product.

License

Baahar is available under the MIT License.

About

Source-first city event discovery with verified, self-healing Scraper Studio collectors

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages