Shortlist v2 — How It Works
built by Malika Shrestha · INSEAD MBA '26
A personal AI job intelligence engine that scrapes 40+ company career APIs daily, classifies roles against my profile, and runs at almost zero marginal cost.
Shortlist v2 — How It Works
built by Malika Shrestha · INSEAD MBA '26
The Problem
I'm an INSEAD MBA candidate targeting Product and Applied AI roles at AI-native B2B companies across London, UAE, and India. The roles I wanted weren't on job boards. They were scattered across dozens of company career pages, posted and filled within days.
The real problem was the decision tax. Every morning I'd spend an hour filtering roles that almost fit. By the time I had a shortlist, I had no energy left to write a good application or network.
So I built Shortlist.
I defined my criteria once and scoring algorithm. Target companies, role types, locations, seniority, even a language filter. The system applies them every day. I open the dashboard each morning and see 10 to 20 roles ranked by fit, not 200 ranked by recency.
I star what interests me and go straight into writing the application. The system handles the rest.
What It Does
every morning, automaticallyHits career APIs (Greenhouse, Lever, Ashby) directly across 40+ AI-native B2B companies, and parses LinkedIn job alerts from Gmail.
Every role is sorted into target function families: Product, Applied AI, AI Transformation, and GTM Strategy — using a keyword engine.
Each role is scored 0–100 against my profile across geography, seniority, company fit, role family, and language filters — deterministically, so it costs nothing to run.
Results land on a dashboard where I star roles, move them through an application pipeline, and draft cover letters in a built-in workspace. Ten-minute triage with coffee.
The Engineering Decision
The best engineering decision is often removing the clever thing. Match the tool to the actual requirement, not the impressive-sounding one.
The first version used an LLM to score every job — elegant in theory, but it was burning $3 per run and hitting rate limits 60+ times a day. I replaced it with a deterministic points system over signals already in the database. Daily cost dropped from dollars to zero. Every score became instantly reproducible and explainable. LLM spend is now reserved for one place it earns its keep: tailoring a specific application, on demand, when I choose.
What I Learned
the stuff that transfersDesigned 5 loosely coupled modules so each could fail or change independently without breaking the others.
Instrumented every API call with token and cost logging, then cut spend by ~95% without losing the function that mattered.
Exponential backoff, request caps, graceful degradation, and idempotent writes so a rerun never duplicates data.
Reverse engineered Ashby's undocumented GraphQL endpoint by inspecting its job board — no public docs existed.
Resisted the urge to overbuild when GitHub already solved the storage problem for free.
Gave myself one month to get hired and built the tool to serve that goal, not the other way around.
Tech Stack