Samsun Districts Explorer
Scraper-driven civic data platform covering Samsun's 17 districts, 1,267 neighbourhoods, population trends and 2024 election results.




Problem
Useful district-level information is fragmented across municipality, governorship, population and election sources. Comparing places or moving from a district to neighbourhood-level detail requires many separate searches.
Context & role
I designed the scraping pipeline, data model, REST API and React interface for an independent civic-data exploration project. It is not an official product of a municipality or public institution.
Data pipeline
- ↳ASP.NET Core scrapers collect district and mayor information from public municipality and governorship pages.
- ↳HttpClient and HTML parsing handle static sources; Playwright and Chromium handle JavaScript-rendered pages.
- ↳Population data is based on TÜİK ADNKS figures and election data comes from the Supreme Election Council workflow.
- ↳Normalised records are stored in SQLite and exposed through a REST API to the React application.