mira.kovac

Open to staff roles

Senior machine learning engineer

Mira Kovač

I build retrieval and ranking systems that survive contact with production. Nine years across fashion search, audio, and HR software — most of it Python, PyTorch, and the occasional argument about evaluation.

Base
Berlin, DE
Focus
Retrieval & ranking
Experience
2017 — now
Currently
Personio

Experience

2017 → now
  1. 2017 — 2020

    Zalando

    Berlin

    machine learning engineer/search relevance

    • Rebuilt query understanding for fashion search with a character-level tagger; zero-result queries dropped from 9.4% to 3.1%.
    • Shipped a two-tower retrieval model over 40M article embeddings, lifting similar-items click-through by 6.2% in a four-week test.
    • Built the offline evaluation harness (NDCG@10, recall@100) that became the release gate for every search model.
  2. 2020 — 2023

    Spotify

    Berlin

    senior machine learning engineer/podcast ranking

    • Led ranking for podcast recommendations on Home; replaced a GBDT ranker with a sequence transformer and gained +3.8% podcast consumption.
    • Cut p99 feature latency from 180 ms to 45 ms by moving feature assembly into a Go service with precomputed embeddings.
    • Added editorial and freshness constraints to the ranker, cutting already-consumed impressions by 27% with no engagement loss.
  3. 2023 — now

    Personio

    Berlin

    senior machine learning engineer/talent matching

    • Own candidate–role matching for 6,000+ SMB customers; hard-negative mining and a tuned encoder raised recall@20 by 19%.
    • Introduced a model registry and shadow deploys on Kubernetes, taking rollback time from hours to under ten minutes.
    • Mentor three engineers and run the applied-ML review board; the team ships roughly one model a month.

Skills

08 tools

Projects

03 projects

Publication

01 paper

peer-reviewed / recsys ’24

Hard Negatives for Small Catalogs: Contrastive Retrieval in Hiring Search

Mira Kovač, Jonas Lindner, Anne Weber

What worked — and what quietly broke — when we moved from BM25 to a contrastive dual-encoder for catalogs of 6,000 customers instead of 60 million items.

RecSys 2024 industry track

Contact

berlin, de

Have a retrieval problem worth solving?

Open to staff roles in Berlin or remote across CET ±2. I answer real messages, usually within a day.

github @mirakovac
linkedin in/mirakovac
based in Berlin, Germany