Case study · TODO
Fish Forever Impact Framework
Rare's report card for coastal communities. It turns information from many programs into one comparable picture of how each managed access site is doing.
- Context
- My role at Rare
- Role
- Lead developer
- Stack
- ReactMaterial UIPythonFlaskPostgreSQLPostGISClaudeDockerNginx

- 6
- Areas of coastal resilience
- 1 to 4
- Score for each area
- 24
- Total score
What it does
The Fish Forever Impact Framework is Rare’s report card for coastal communities. Every night, the system pulls in household surveys, fishery management records, catch data, habitat information, climate assessments, and policy reviews.
It scores each site on six areas of coastal resilience, from policy and co-management to livelihoods, collective action, climate readiness, and ocean health. Each area is scored from 1 to 4, for a total out of 24.
Staff can filter by country and year, open a score to see what went into it, download the numbers, and look back at how scores have changed. They can also set 2030 and 2035 goals and turn those goals into a country plan.
Why it matters
Fish Forever works across many countries and hundreds of sites. Without a shared score, each team is comparing spreadsheets that do not line up. This app gives leadership one current, consistent view of where communities are strong, where they need support, and whether things are improving over time.
How I built it
The scores are rebuilt each night from the same set of program records, so a site in one country can be compared with a site in another. Opening a score shows what went into it.
TODO: anything you want to say about how you decided the scoring rules.
Technical detail
- Website: React 18, Material UI, and React Router.
- Server: Python with Flask and Gunicorn.
- Database: PostgreSQL, with PostGIS for maps.
- AI summaries: Anthropic Claude.
- Hosting: Docker. Nginx serves the site and forwards requests to the server.