A public data product for comparing occupational wages and regional price levels across U.S. states — explore market medians without inventing a salary, or evaluate a concrete job offer after cost of living.
People get job offers and relocation questions without a clear, data-backed view of typical pay in a state and what an offer is worth after regional prices. Early exploration used SQL Server, Power BI, and a WordPress embed — a weak fit for a consumer product.
Outcome: an owned web product at costoflivingrealitycheck.com with two modes — Explore wages (map and state table, no salary required) and Evaluate an offer (COL-adjusted offer vs medians, illustrative take-home). Official BLS and BEA sources with labeled data vintage.
| Mode | Inputs | Outputs |
|---|---|---|
| Explore wages | Occupation; state optional | National medians, U.S. map, sortable state table |
| Evaluate an offer | Occupation + offer $ + state | COL-adjusted offer, vs state/national median, rough take-home |
Map color can show state median wage, COL-adjusted median, or BEA regional price parity (price level). Tax figures are simplified federal + employee FICA for illustration — not tax advice.
Desktop analytics pipeline publishes small JSON artifacts. The public host runs an API and static UI — no open database and no Polars on the server CPU.
flowchart TB A["BLS OEWS · BEA RPP · MERIC"] --> B["Polars pipeline"] B --> C["Silver / gold Parquet"] C --> D["Published JSON"] D --> E["FastAPI"] E --> F["Web UI + MapLibre"]
Live host: same family as this site and SinglePlayerGamers — Ubuntu, Caddy reverse proxy, Cloudflare edge, deploy from Windows.
Runtime: systemd service for the API; production dependencies are API-only (prebuilt publish JSON on the server).
Measurement: GA4 on the COL domain (separate property from this consulting site).
Chosen for an honest public-stats product under home-lab constraints.
| Layer | Choice | Why |
|---|---|---|
| Sources | BLS OEWS, BEA RPP, MERIC | Official public stats; annual vintage labeled in the product |
| Transform | Polars on the desktop | Fast local analytics; not required on the web server |
| API | FastAPI + Pydantic | Clear contracts for search, market, compare, offer check |
| UI | HTML, CSS, JS + MapLibre | Interactive choropleth without a paid map vendor for MVP |
| Earlier path | SQL Server + Power BI + WordPress | Lab / archive — not the live product |
Full ownership of a public data product: ingest official sources, model and publish, build an interactive map interface, and run it on the same hosting pattern as other Dunleavy properties — with product judgment (explore without forcing a fake salary) and honest methodology.
Explore the live wage and COL tool?
Brief project notes are enough — I reply by email.