UCSB capstone · In collaboration with Planet Labs
Planet Story Explorer
An interactive geospatial search experience that makes more than 35,000 Planet Stories easier to explore, filter, and discover.
- React
- TypeScript
- FastAPI
- PostgreSQL
- Supabase
- Gemini
- FastMCP
The problem
Why this needed to exist.
A collection of more than 35,000 Planet Stories was difficult to browse as a traditional archive. The capstone team created a map-first way to search the collection by place, filters, and natural-language exploration.
What I built
From interface to underlying system.
Designed and built full-stack map search, database-backed filtering, an AI discovery assistant, and an MCP-powered backend for working with a large real-world story dataset.
- 35,000+ stories
- Geospatial search
- AI-assisted discovery
System outline
How the pieces connect.
- 01
A React and TypeScript client handles map exploration, filters, and the discovery experience.
- 02
FastAPI exposes the application APIs, with FastMCP supporting tool-based access.
- 03
PostgreSQL and Supabase back searchable story data and geospatial workflows.
- 04
Gemini powers the AI-assisted discovery and chatbot experience.
Engineering focus
The work behind the screen.
Turning a large real-world content collection into useful searchable data.
Coordinating map state, filters, and backend results in one exploration flow.
Grounding AI-assisted discovery in the application’s own dataset and APIs.