← Portfolio

Israel SchoolsA multilingual, map-based way to find and compare schools in Israel

Israel Schools is a map-first discovery and comparison platform built entirely on official open government data. It brings fragmented education datasets into a single tool where families can search by location, sector, supervision, school stage and local authority, examine evidence by dimension, compare schools against relevant peers, and see when the underlying data is too sparse or old to support a confident conclusion. It began as something I needed and could not find, and grew into a study in turning incomplete public data into honest decision support rather than false certainty. A working prototype; a data refresh is required before any public launch.

1. The Problem

This started with a real need. I was looking into schools in Israel and wanted the kind of decision support that UK families get from a service like Locrating: a map of schools, click through to a profile, filter by what matters, compare a shortlist, and read the local context. No equivalent existed for Israel. The information was out there, but scattered across at least seven public sources, partly geo-blocked, published in formats that do not join up, and almost all of it in Hebrew. A motivated parent in the UK can approximate Locrating with a weekend and a spreadsheet. A motivated parent in Israel cannot do it at all.

Israel also makes the decision harder than the UK does. There is no Ofsted, no single recognised quality grade. The choice overlaps with sector (state, state-religious, Haredi, Arab, Druze, Bedouin), supervision stream, language of instruction, and whether a child is assigned to a school by where they live or can apply to one across town. Families move within cities specifically for schools, and olim families arriving with no Hebrew face the highest stakes with the least access to the data. The baseline today is WhatsApp groups and reputation.

The result is a gap between a decision that genuinely matters and the evidence available to make it:

The goal was to assemble the fragmented public picture into a coherent, multilingual, map-based tool, and to do it honestly: surface the evidence, show its age and confidence, compare schools fairly, and refuse to manufacture certainty the data does not contain. That is what Israel Schools does.

Want the implementation detail?

This page explains the product decisions behind Israel Schools and the system design that followed from them. The deeper build documentation lives in the separate technical reference, including the full data model, the ETL pipeline, the scoring model, the API surface, the multilingual system, and the open-versus-geo-restricted source architecture.

Open the Israel Schools technical reference →

2. The Parent’s Experience

The starting point was the parent, not the dataset. A family deciding on a school does not want a statistics portal; they want a map organised by the things they care about, in a language they read, with an honest sense of how much to trust what they see.

A guided journey, not a database

The product is built as a short guided flow rather than a search box over a dataset. It asks about the child first: grade level (kindergarten, elementary, middle, high), then sector or community, then whether special-education provision is needed. Only then does it ask about location, by address or by dropping a pin on the map, and show the nearest schools ranked by distance, each carrying the practical chips a parent actually weighs. This order is deliberate. In Israel the relevant set of schools is defined by stage, sector and eligibility before any notion of quality enters the picture. A state-secular high school and a Haredi yeshiva are not alternatives to be ranked against each other, so the product never asks the parent to. Identity filters like sector and supervision are treated as identity, surfaced up front and never gated, because deciding to look only at state-religious schools is a family’s starting point, not a premium feature.

1ChildGrade level, then sector or community, then a special-education needs toggle
2LocationEnter an address (geocoded server-side) or drop a pin; the address never leaves the browser unless typed
3ResultsNearest schools by distance, each with compact transit, eligibility and catchment chips
4ShortlistCompare up to five schools on identity, current operation, freshest wellbeing and historical achievement, each labelled with its vintage
5VisitA printable checklist of questions, generated from what the data cannot answer for that school

A “has quality data” toggle is on by default, surfacing the roughly 3,600 schools with meaningful indicator data rather than burying them among more than 37,500 institutions, most of which are kindergartens or carry no recent evidence. The parent can switch it off to see the full picture, but the default respects what they are actually trying to do. Each profile then carries per-dimension evidence with its measured year, the school’s direction over time, comparison against peers, authority and national, transport access, and an honest catchment estimate.

Product thinking: The riskiest assumption was that families think in rankings. They do not. They think in eligibility and fit first, evidence second. The interface follows that order, which is why child, location and eligibility come before any score, and why the journey ends not at a number but at a list of questions to ask on the visit.

Can a child actually go there

Distance alone does not establish that a child can attend a school, so eligibility is treated as first-class rather than a footnote. Israeli admission follows structural rules by school type and stream, and the product encodes them nationally: a state elementary school is assigned by home address zone, religious-stream schools admit by affiliation, gifted programmes are selective, special-education places go through a committee, boarding schools are non-regional. Every school states its rule with an honest “general rule, confirm your exact zone locally” flag, and it never invents a street boundary. One authority, Modi’in-Maccabim-Re’ut, carries hand-curated municipality specifics on top, with a dated source; deepening another city is a data task, not a code change.

For distance-gated schools the product also estimates catchment reach, because real street-level zones are not published as open data anywhere and shift every year. Rather than draw a fake polygon, it models reach as a labelled scalar (tight, typical or wide for the school’s stage) derived from how far apart comparable schools sit, then, once an address is set, shows a per-address in-zone likelihood as a green, amber or red chip. It is presented as what it is: an estimate from the school landscape, not an official zone, with a “confirm with the municipality before any property decision” warning throughout.

3. The Real Work: Joining the Data

The visible map is the surface. The substance is underneath, in turning seven disconnected public sources into one coherent layer that can actually be queried, joined and trusted.

The breakthrough was a stable join key. Every Israeli institution has a semel mosad, an institution symbol, and it survives across datasets. That let me link a school’s coordinates to its institutional attributes to its assessment history to its socioeconomic context, all on the same identifier. Around that key I built a layered model: reference dimensions (authorities, settlements, socioeconomic clusters), institutional identity per school, a single generic observations table for any “school by year by indicator to value” fact so new sources slot in without schema changes, and a derived layer for ratings and peer groups computed from those observations.

Freshness, made explicit

The hardest truth about this data is that it is uneven in age, so the product never flattens it. Different evidence carries different vintages, and each is labelled with the year it was measured rather than blended into one confident-looking number. A 2024/25 RAMA roster confirms which schools operate today. A 2023/24 RAMA student-and-teacher survey gives the freshest per-school wellbeing and climate signal. Achievement comes from the 2022/23 Tnufa programme, with the older Meitzav series (to 2017) as a fallback and the 2011 to 2015 institutional panel supplying sector, supervision and type. Bagrut exam data, from 2013 to 2016, is shown on its own. The rating model prefers the freshest evidence available for each dimension and down-weights or excludes what is too old to describe a school today.

Open versus geo-restricted, by design

Some of the most useful data is hard to reach from outside Israel: the live ministry portals return errors, and even where a source turns out to be fetchable, that has often only been confirmed from an Israeli connection. So I drew a hard architectural line between sources anyone can fetch and sources that need, or might need, an Israeli egress, and built the pipeline so a geo-restricted source can be refreshed by a scheduled job from inside Israel and land in the same model, leaving the public site serving everyone regardless of where the user sits.

That separation does real work. The data.gov.il open APIs, which supply the institutional master list, coordinates and the assessment series, are reachable anonymously from anywhere. But the freshest sources, the 2024/25 roster, the 2023/24 wellbeing survey and the national transit feed that powers the public-transport layer, were gathered through an Israeli connection, and I have not confirmed they are reachable from outside Israel, so the product treats them as geo-restricted: fetched on a schedule from an Israeli egress and cached server-side. A user in London then sees the same product as a user in Modi’in, whether or not their own connection could reach each upstream source.

Systems thinking: The geo-block is an operational concern at refresh time, never a constraint on who the product can serve. Open data is the always-available path; anything that needs an Israeli egress is a refresh job that lands in the same shape. Neither leaks into the other, which is what lets the site work for the diaspora and pre-aliyah families who could not reach the upstream sources themselves.

4. Honest Evidence, Not a Grade

The strongest product decision in this project was what not to build. It would have been easy to invent an Israeli Ofsted score and put a number on every school. The data does not support that, and pretending otherwise would have made the product worse and the liability greater.

Bands, not false precision

RAMA publishes results as ordinal categories relative to similar schools, not as points on a scale. Converting those into 88 versus 87 implies differences the data cannot carry. The product shows five honest evidence bands instead: Strong, Promising, Mixed, Needs attention, and Insufficient data.

Compare like with like

Scores only mean anything within a peer group: same education stage, sector, supervision and socioeconomic band, so an elementary school is never ranked against a high school. Each profile also benchmarks the school against its local authority and the national average for the same grade and subject, so a parent can see the school in three contexts at once.

Direction, not just rank

A school’s own trajectory over time is often more useful to a family than its standing against others. Profiles show whether a school is improving, holding steady or declining, taken from the peer-normalised trend where current data exists and from the historical assessment record otherwise.

Never hide a weakness in the average

A strong overall picture can conceal a serious gap in one dimension. The profile always shows the per-dimension breakdown alongside the band, so a parent choosing for a child with particular needs can see the dimension that matters to them rather than have it averaged away.

Refuse to score on weak data

Where confidence is low or fewer than two components are available, the product publishes no overall band at all. “Insufficient data” is a deliberate, visible outcome, not a gap to be filled with an estimate.

Bagrut matriculation data is shown on its own card with a prominent staleness warning rather than folded into the main band, because it is only relevant to high schools and the available data is from 2013 to 2016. Every score is traceable to its public source, its dataset, its year and its raw value, so any figure on the page can be followed back to where it came from.

Product judgement: The instinct to fill every blank with a model estimate is exactly the instinct to resist. The platform’s value is honest assembly. The moment it starts guessing at a school’s quality, it trades the one thing that makes it worth trusting for the appearance of completeness.

5. Multilingual by Design

A Hebrew-only school tool excludes the people who most need one: the Arabic-speaking fifth of the country, and the Russian, French and English-speaking olim for whom the Hebrew portals are unreadable. The product supports English, Hebrew, Arabic and Russian, with full right-to-left presentation for Hebrew and Arabic.

This is not a thin label swap. Source data arrives almost entirely in Hebrew, so the translation system separates the raw source values from their presentation. A translation table maps every category value (sectors, supervision streams, institution types, districts) into each language, and an indicator dictionary glosses every assessment indicator with a label, unit and polarity per language. Proper nouns like school and authority names are deliberately left untranslated. The result is that an English or Arabic speaker sees a genuinely localised product, not Hebrew with an English frame around it, and the underlying data is never re-encoded or lost in the process.

6. Responsible Design in a Sensitive Domain

School ratings affect real families and real institutions, in a country with a defamation law that carries statutory damages without proof of harm. Responsible design here is not a compliance afterthought; it shaped the product from the start.

Quote, never characterise

The product states facts attributed to sources and shows neutral band labels. It writes no narrative summaries, no “this school is failing” blurbs, no algorithmically composed opinions. A number with its source is defensible; a characterisation is not.

No individuals, no reviews

No headteacher or teacher is ever named. There are no free-text user reviews, which would each be a fresh defamation risk on the platform’s letterhead. Schools are legitimate subjects of comment; individuals are not.

Right of reply

Every profile exposes a “the data on this page is wrong” route into a moderated correction workflow. Submissions are structured, rate-limited, and contact details are stored separately and never exposed. Acting on corrections in good faith is both the right thing and a real legal protection.

Privacy by design

Small-cohort indicators are suppressed so no result can identify an individual child. There is no third-party analytics, no fingerprinting, and the only thing stored in the browser is a language preference, which sidesteps the cookie-consent regime entirely.

A plain-language disclaimer on every profile states what the platform is and is not: an aggregation of public data for decision support, not an official inspection grade and not any government body’s view. Dedicated methodology, legal and accessibility pages make the sources, the scoring rules and the “low confidence means no score” discipline explicit, and the interface is built to meet the WCAG 2.0 AA standard that Israeli law requires of public-facing sites.

Responsible design: In a sensitive domain the editorial restraint is the product. Neutral language, no named individuals, suppressed small cohorts, a visible right of reply, and a refusal to score on weak data are not constraints bolted on at the end. They are the design.

7. Architecture

The technology was chosen to fit the problem, which is fundamentally a data problem, not a framework problem. The whole product runs with no external runtime dependencies.

Open + curated sources
ETL pipeline
SQLite model
Rating + peers
Map UI

An ETL pipeline of small, idempotent loaders pulls each source, normalises it (Hebrew quote-unescaping, authority name aliasing, year parsing), and lands it into a layered SQLite database on the shared semel mosad key. A rating step computes peer groups and evidence bands from the observations. The server is a stdlib-only Python HTTP server with no framework, serving a JSON API and a vanilla JavaScript front end built on Leaflet for the map. Search runs locally against SQLite, so no user query leaves the server. The entire stack is designed to run on a small VPS for around a hundred dollars a month, which matters for a public-good project that has to be sustainable to be worth building.

Crucially, the schema, ETL, scoring registry, translation table and confidence flag were all designed so that new data slots in without restructuring, and that design has paid off repeatedly. The current operation roster, the 2023/24 wellbeing survey, national transit, authority and national baselines, and the eligibility and catchment layers were each added as additive loaders landing into a shape the model already understood, with no rewrite. The remaining work, more curated cities and precise coordinates for the newest schools, is more of the same: data acquisition, not architecture.

8. What It Is, and What It Isn’t

Israel Schools is an honest, multilingual starting point for a decision that families today make on rumour and WhatsApp groups. It is a working prototype that already runs the full journey end to end: an address-led flow from a child’s stage and stream to the nearest eligible schools, current-operation status, the freshest available wellbeing evidence, per-dimension bands compared against peers, authority and national, direction over time, transport access, a national eligibility layer with an estimated catchment, and a personalised visit checklist, all built on public data, from research and data modelling through scoring methodology and a four-language interface to the running application.

It is deliberately not the Israeli Ofsted, and that is the right framing rather than a limitation: it is a transparent school-selection guide, not a ranking. The evidence is now far fresher than a single 2015 snapshot, current operation from 2024/25, wellbeing from 2023/24, achievement from 2022/23, with the older academic and institutional layers labelled by vintage rather than disguised. What it honestly cannot do is draw exact street-level catchment zones, which no one publishes as open data, or show Bagrut more recent than 2016, and it says so on the page. As a working prototype the remaining work is depth, more curated cities and precise coordinates for the newest schools, not a rebuild.

Product judgement led, AI expanded the reach

The hard work here was not inserting AI into the experience; it was finding and joining the right data, defining fair comparisons, representing uncertainty, and deciding what not to claim. The product itself is deterministic because that is the appropriate architecture for it. Agentic AI is what let one person research, model, build and test the whole thing at the pace of a small team. The judgement decided what to build; AI expanded how much of it I could build alone.

It also makes the rest of my work legible to anyone. Almost everyone understands how hard, and how important, choosing a school is. This is a complex information problem turned into a coherent working product through product judgement, system design, and AI-enabled execution.

Technical reference → for the data model, ETL pipeline, scoring model, API surface, multilingual system, and source architecture.