Settings

CO

Data source

The single source of truth feeding every page. Figures are always recomputed from the mandal-level rows.

Health 0/100

Google Sheets (live)

Google Sheets (1ykq7o8hf-H3wu1ytyNnRw_HShPM2Kg38l9-VxiPjPR0)

Source kind
Google Sheets (live)
Connector mode
public
Schema version
2.0.0
Spreadsheet ID
1ykq7o8hf-H3wu1ytyNnRw_HShPM2Kg38l9-VxiPjPR0
Last generated
14 Sept 2026, 2:23 pm · just now
Data health
0/100 · 254 issues · 4/4 reconciled
Units
125 (109 mandals + 16 municipalities)
Constituencies
18
Records (rows)
125 detail rows

Sheet tabs (2)

DISTRICT WISECONSTITUENCY WISE
Open the Google Sheethttps://docs.google.com/spreadsheets/d/1ykq7o8hf-H3wu1ytyNnRw_HShPM2Kg38l9-VxiPjPR0/edit

Update the data

Re-pull the live sheet, or upload a workbook. Both rebuild the cache and recompute every figure.

Live data sync

The dashboard pulls the latest workbook automatically from the shared Collector Google Sheet and recomputes every figure from the mandal rows. No manual action is required.

Data source: Google Sheets (shared “anyone with the link can view”), cached and revalidated continuously.

How the Collector’s office keeps this updated

The dashboard stays current as long as the shared sheet stays clean.

  1. 1Edit the shared Google Sheet directly — it is the single source of truth. Open it with the button above.
  2. 2Keep exactly one row per mandal or municipality (20 detail rows in total). Do not merge, split, or reorder the metric columns.
  3. 3Do not edit subtotal or total rows. The dashboard recomputes every constituency and district figure from the detail rows; subtotal rows are used only to cross-check.
  4. 4Back here, click “Refresh from Google Sheets” above, then reload the page to see the new numbers everywhere.

Configuration

Environment variables that control where data is read from. Current values are shown as badges.

DATA_SOURCEsheets

Which source feeds the app. "cache" reads the committed JSON cache (default); "sheets" reads live from Google Sheets.

SHEETS_CONNECTORpublic

How the sheet is fetched. "public" uses the link-shared XLSX export (no credentials, recommended); "service_account" uses the Sheets API for private sheets.

GOOGLE_SHEETS_SPREADSHEET_ID1ykq7o8h…iPjPR0

The Collector-office spreadsheet that is fetched on refresh.

Set these in a .env.local file. See .env.example in the project root for every supported variable, including the optional service-account credentials (GOOGLE_SERVICE_ACCOUNT_EMAIL, GOOGLE_PRIVATE_KEY) used when the sheet is private.