ELIKO // SYS
X 000  Y 000 OP_MODE AUTO

LIVE

School picker

A weighted ranking of every Israeli school from public Ministry of Education data, built to shortlist an elementary school for one family.

2026 · Own product · Side projects

About

Choosing a school means comparing numbers the Ministry of Education spreads across several sites, on different scales and years. School Picker gathers them into one place, shows every number with its source and year, and lets the family set the weights that matter to them. A missing value is shown as missing rather than quietly treated as average, and the whole thing is readable in Hebrew on a phone.

Why I built it

Every year the Ministry of Education publishes a little less, and what it does publish is scattered across sites, scales and years. When we started looking at schools I found no single place that put it all side by side, and I happen to enjoy exactly that kind of work, taking messy data and making it answer a question. So I wrote a ranking that weighs every school at every stage by what matters to us. The first version taught me that I did not really understand what each weight meant, and every gap I found became a feature, from honest handling of missing values to the paths between schools. The question underneath was never just which school. It was where a family like ours should live.

What it does

All the data in one place
Ministry transparency data, surveys, test scores and map data for every school in the country.
Your priorities, your weights
A short questionnaire about what matters most sets the weights, not a ranking chosen elsewhere.
Honest about gaps
A missing value counts neither for nor against a school, and the coverage is shown.
Every number sourced
Each value carries where it came from and which year.
Paths between stages
Elementary, middle and high school chains ranked together, by distance and town.

How it works

A collector pulls the public sources into one file, each value with its source and year. A questionnaire sets the weights, scoring runs in the browser and the family visits the shortlist.
A collector pulls the public sources into one file, each value with its source and year. A questionnaire sets the weights, scoring runs in the browser and the family visits the shortlist.

Built with

Python · JavaScript · Leaflet · OpenStreetMap / Nominatim · CBS statistical areas · pytest · Playwright · systemd

At a glance

STACK
Python · open data
STATUS
in use

My role. Designed and built the data collector, the scoring model and the Hebrew interface.

Screens

The questionnaire asks for the most and least important of six plain statements, and quotes the real spread from the data.
The questionnaire asks for the most and least important of six plain statements, and quotes the real spread from the data.
The ranked board shows each score next to its data coverage and the facts that decided the place.
The ranked board shows each score next to its data coverage and the facts that decided the place.
A school's card splits the score by metric and says which metrics were not published.
A school's card splits the score by metric and says which metrics were not published.
The map colours schools by score inside the chosen distance from home.
The map colours schools by score inside the chosen distance from home.
The path tab ranks elementary, middle and high school chains under a rule stated on screen.
The path tab ranks elementary, middle and high school chains under a rule stated on screen.
The phone build. One card per school and a bottom tab bar.
The phone build. One card per school and a bottom tab bar.