The Grafana stack I built and operate
An observability platform I designed, built and operate, with metrics, central logging, custom collectors and operational workflows managed as code.
Case study / Personal project
A ranking of 63 IT roles that started in Excel and now runs as a web app. Weights can be changed, every figure shows its source, and market data come from the official SOLID.Jobs API.
Open Career RadarA while ago I made a spreadsheet that ranked IT roles in Poland by salary, AI resistance, demand, stress, entry barrier, remote work and prestige. It worked, but it was hard to browse and share. Most numbers were my own estimates, and nothing showed which ones came from the market.
Everything from the data model to the release. I defined the scoring, the source labels and the rules for market data, then built the app and set up hosting and delivery. AI tools helped with the implementation, and every change went through my review.
Market data come only from the official SOLID.Jobs API. Other job boards either forbid automated collection or do not clearly allow it, so they stay out until one agrees in writing. There is no scraping. Only aggregates are stored, never offer descriptions or personal data. Roles with fewer than ten offers show data for their category instead of shaky numbers.
The app is a static Astro site written in TypeScript. Separate STAGE and production Workers serve it on Cloudflare, and STAGE sits behind Cloudflare Access with a one-time code sent by email. A harvest script calls the API with pauses between requests, maps job titles to roles and compares coverage and changes with the previous run before anything is saved. For now it runs by hand, and I review the result. Azure Pipelines validates every change, deploys STAGE, runs smoke checks and waits for my approval before production.
Career Radar is public at radar.piwowarpawel.com. All 63 roles from the spreadsheet are there, with adjustable weights, role pages, a map of career moves and a methodology page. Each figure carries a label that says whether it is an estimate, derived, taken from job offers or mixed. The interface is in Polish for now, and an English version is planned.
Showing data honestly takes more work than drawing charts. Most of the effort went into source labels, minimum sample sizes and checking what each job board allows. Next in line are a weekly harvest in the pipeline and more sources from published reports.
An observability platform I designed, built and operate, with metrics, central logging, custom collectors and operational workflows managed as code.
A production migration from a VMware data centre to Azure and IONOS. Systems had to keep running during the move, and sizing and cost needed attention afterwards.
Let's connect
Hybrid cloud, observability, automation or an interesting technical problem.