Inspiration
We wanted to make marine science easier to learn about and more intriguing to explore by combining familiar fish encyclopedia information with an interactive climate-risk simulation.
What it does
DeepSearch lets users search any fish, view Wikipedia-based species details, see estimated habitat density on a global map, as well as run a 10-year AI prediction of ocean stress events for that species.
How we built it
We built a Vite frontend with MapLibre + deck.gl for visualization and a Cloudflare Worker backend for APIs.
The Worker fetches fish data from Wikipedia, structures species metadata, maps habitat regions, and calls the Google AI Studio API for timeline predictions.
We added validation, guardrails, retries, and tests to keep model output reliable.
Challenges we ran into
Model responses sometimes broke strict JSON schema.
Wikipedia requests needed proper client headers and stronger error handling.
Map was not able to render sometimes and its interactions were tricky when large prediction circles overlapped and blocked smaller ones.
Accomplishments that we're proud of
We turned a generic ocean simulator into a species-specific, encyclopedia-style experience.
We built deterministic habitat heatmaps, added overlap-resolution for map clicks, and kept the app robust with contract validation and tests.
What we learned
Prompting alone is not enough; strict validation and normalization are essential.
Good UX for maps needs thoughtful interaction design, not just rendering data points.
Edge functions are great for combining external data retrieval and AI inference in one flow.
What's next for DeepSearch
Add species comparison mode and side-by-side timelines.
Support cached fish lookups for faster responses.
Expand inputs to include fish-specific ecological parameters and richer risk score outputs.
Built With
- cloudflare
- google-ai-studio
- javascript
- llm
- vite
Log in or sign up for Devpost to join the conversation.