Real-time country metrics & market-demand signals — built as a static site, no backend, no API key.
▶ Live demo: https://elkhan-isayev.github.io/azpulse/
AzPulse reads 769 official government datasets straight from the CKAN API behind opendata.az (the IDDA Open Data Portal) — live, in the browser. No server, no database, no build step. Just open the page and the country's data renders itself.
The headline feature: a panel that answers a real founder's question — "which sectors is the economy actually hiring in?" — and lets you click any sector for a full, data-driven breakdown.
| Overview | Economy — where demand is growing |
|---|---|
![]() |
![]() |
| Sector breakdown (click any sector) | Dataset explorer |
|---|---|
![]() |
![]() |
- Live KPIs — datasets, categories, organizations, CSV resources, fetched on every load.
- Datasets-by-category chart — click a bar to drill into that sector.
- 🏭 Economy — "where is demand growing?" — loads the official employment-by-economic-activity dataset live, computes each sector's 5-year job growth, and ranks them. Green = expanding (demand signal), red = contracting. Click any sector for a breakdown: 5y/10y growth, share of total employment, rank, momentum (accelerating vs. slowing), a full multi-year trend line, and a plain-language verdict.
- Dataset explorer — search all 769 datasets, filter by category.
- Auto-charting + year-over-year — open any dataset; AzPulse parses its CSV, detects whether it's a time series (recognizes a year column) and draws a multi-year trend, otherwise a ranked bar chart — always with a data table.
- Bilingual UI — Azerbaijani by default, with an AZ / EN switch in the header; the choice is remembered between visits.
A practical question for entrepreneurs: in which sectors is the country adding jobs, and in which is it shedding them?
- Data: «İqtisadi Fəaliyyət Növləri Təsnifatı üzrə məşğul əhalinin sayı» — employed population by economic activity (thousands), official, ~1999–2024.
- Metric: percent change in employment over the most recent 5-year window, per sector, computed live.
- Why employment: a sector that consistently hires more people is expanding and competing for labour — one of the cleanest public proxies for real, sustained demand (sector-level revenue isn't published).
Snapshot of what the live data shows (2019 → 2024), fastest-growing first:
| Sector | Jobs growth |
|---|---|
| Water supply & waste management | ~ +50% |
| Finance & insurance | ~ +41% |
| Administrative & support services | ~ +34% |
| Hospitality (tourism & catering) | ~ +34% |
| Professional, scientific & technical | ~ +13% |
| Manufacturing | ~ +13% |
| Construction | ~ +11% |
Read it correctly: job growth signals demand and expansion, not guaranteed profitability. Use it to shortlist sectors, then validate the specific niche before committing. The dashboard always recomputes from the latest published data.
Pure static site, zero build step.
- Vanilla JS + Chart.js + PapaParse (both via CDN).
- Data: CKAN JSON API at
https://admin.opendata.az/api/3/action/package_search, plus direct CSV downloads. - The portal serves
Access-Control-Allow-Origin: *, so the browser can call it directly — no proxy needed.
azpulse/
├── index.html # layout
├── css/styles.css # styling
├── js/i18n.js # AZ + EN string tables
├── js/app.js # CKAN client + charts + economy analysis
├── docs/
│ ├── ARCHITECTURE.md # how it works under the hood
│ └── screenshots/ # images used in this README
└── .nojekyll # serve files as-is on GitHub Pages
See docs/ARCHITECTURE.md for how the data pipeline and auto-charting work.
No tooling required:
python3 -m http.server 8080
# open http://localhost:8080GitHub Pages serves the main branch root. Any push to main updates the live site at
https://elkhan-isayev.github.io/azpulse/ within ~1 minute.
To replicate elsewhere: push the files, then Settings → Pages → Source: Deploy from a branch →
main / root.
All data belongs to the publishing Azerbaijani state bodies and is distributed as open data by the IDDA Open Data Portal (opendata.az). AzPulse only fetches and visualizes that public data in the browser — it does not own, host, alter, or redistribute it.
AzPulse is an independent, non-commercial, open-source project and is not affiliated with, endorsed by, or representing opendata.az, IDDA, or any government body of the Republic of Azerbaijan.
The dashboard and all figures, rankings, charts, and "demand" interpretations it produces are provided "as is", for informational and educational purposes only, with no warranty of any kind — including accuracy, completeness, timeliness, or fitness for any purpose. Numbers are computed automatically from third-party source data that may itself contain errors, gaps, or revisions.
Nothing here is financial, investment, business, legal, or professional advice. Any decision you make — including where to start or run a business — is entirely your own responsibility, and you should independently verify the underlying data and consult qualified professionals first.
To the maximum extent permitted by applicable law, the author accepts no liability whatsoever for any loss or damage of any kind arising directly or indirectly from the use of, reliance on, or interpretation of this project or its data. By using AzPulse you accept this disclaimer. See also the MIT License, whose warranty and liability terms apply to all use of this software.
- A daily GitHub Action snapshotting sector-demand rankings into the repo for historical trend lines.
- Cross-dataset comparisons (e.g. exports vs. tourism over time).
localStoragecaching of the dataset index for instant repeat loads.



