sadqwes Русский
← All cases

Personal project

I automated my own job search

A service that scores vacancies against my profile, tracks my application funnel and shows which skills are missing most often.

ResultI can see where rejections happen and what to learn next — from data, not feelings
GoPostgreSQLKubernetesArgoCDPrometheusGrafana

Why

Rejections feel bad when you look at them one by one. I wanted to see the whole picture: how many applications, where they stop, and which skills the market asks for most often.

What it does

  • A vacancy score from 0 to 100 with explanations: commercial experience counts fully, lab experience counts partly; plus salary, labour contract, remote work or commute, night shifts, “talent pool” vacancies. Every point is explained: “+15 hybrid”, “−30 office only, 90 min commute”.
  • A funnel: application → HR → interview → offer or rejection, with dates and notes, and a next step with a date.
  • Statistics: applications this week against a target, response rate, the stage where rejections happen, the top missing skills, follow-up reminders.
  • Metrics in Prometheus and a Grafana dashboard.

How it works

A Go service with PostgreSQL in my Kubernetes cluster. Postgres is a StatefulSet on the official image, secrets are SealedSecrets, the image is distroless and runs as non-root. CI: tests, Semgrep, govulncheck, Trivy; deployment with ArgoCD.

I wrote the code together with an AI assistant (Claude Code). My part was the idea, the scoring rules, the requirements, the infrastructure, the deployment and operations.

What I learned

Data helps with anxiety: when you see that rejections come at the CV stage, it’s clear what to fix — the CV and the keywords, not yourself.

← All cases