Case study · Self-initiated

SF School Finder

Self-initiated · 2025

San Francisco assigns most public-school seats by lottery, not by address, so families can't tell which schools they actually have a shot at. I built a tool that starts from your address, works out the lottery tiebreakers you qualify for, and ranks every SF school by test scores and your real odds of getting in.

Try it live ↗

SF School Finder landing page: 'Which SF public schools should you apply to?' with the address, grade, and tiebreaker form.

The problem

SF's school lottery is stressful and hard to read. Most seats go through a citywide lottery instead of your neighborhood school, and your real chances depend on tiebreakers that aren't obvious: a sibling already enrolled, living in an equity area, your attendance-area school, a language program.

The tools parents had showed a school's test scores or its overall admit rate, but never a personal answer to the one question that matters: given my family, where do I actually have a shot?

Approach

I modeled how the lottery actually works instead of guessing. The app takes your address, finds which attendance area and equity zone you fall in, and works out the tiebreakers you qualify for, in the right order. It then estimates your odds at each school from years of past admissions data, and pulls everything from public sources: SFUSD, state test scores, city maps, waitlists, and the Census.

What I built

One ranked list, personal to your family. You set a single slider between "closest to home" and "higher test scores," then filter by program, language, distance, or start time. Each school shows your odds, from Highly Likely to Highly Unlikely, its test scores, and a plain breakdown of who its seats usually go to.

A school's detail: test scores, its odds, and a breakdown of how its seats usually fill between siblings, equity, attendance-area, and general-lottery families.

You can switch to a map of the city to see your odds by neighborhood, and build a shortlist of ranked choices, since SFUSD waitlists your top three. Selective schools like Lowell and the charters sit in their own sections, because they admit outside the lottery.

Map of San Francisco with schools plotted by your odds, your home marked, and the attendance-area outline.

Design principles

Honesty

The app never fills a gap with a guess. Where there's no reliable number, it shows a blank instead. And it shows the numbers plainly rather than burying them in disclaimers.

Values-neutral

Schools are ranked on test scores, and shown as test scores. Demographics are there for context but never fed into the ranking. Language immersion is a soft preference you can lean on, never a hidden filter.

The result

I designed, built, and shipped it on my own. It covers about 119 SF schools from TK to 12th grade, it's live, and I've shared it with real SF parents to hear what's working.

See it live

The best way to understand it is to try it. Enter an SF address and a grade, and it ranks every school for your family.

Try it live ↗