Inspiration

People's favourite pastime lacks structure. Fishing is so popular, yet there is no formal system for leisurely fishermen to find optimal fishing spots, detect their catches, and share them with their peers. People spend days excited for the moment they can finally go fishing, just for bad weather or high fishermen density to prevent them from getting that catch. And if they aren't experts in marine biology, they won't know whether to keep their catch, or throw it back into the water.

Fishing is very community-based, relying on shared locations, shared rules, and not-so-common common knowledge (like "don't fish in that pond after 5pm"). Fishing spots are also community hubs and shared places for people to wind down. Especially among older adults, who definitely want to share their catches and progress with other locals.

GoFish is the one-in-all solution for finding the perfect fishing spot, categorizing your catch, and sharing it with the community.

What we built

GoFish is a social media platform that allows for fishermen to communicate with each other (and with community metrics) to see where they should fish based on their desired species to catch, which can depend on the season, weather, and location. Once a fish is caught, the user is given various facts about their catch (including whether or not it's safe to eat), and GoFish provides a platform for the user to share their catch with their peers and communicate with nearby fishermen.

Features

Heatmap of fish density: a map that displays the chances of finding certain fish and the amount of this fish all over the country. Say goodbye to spending hours at the pond just for the fish you wanted to catch to not even be present. This was done by determining the weather (with respect to surface ambient temperature, wind conditions above water, and water temperature), flow rate of water, and areas marked as known breeding areas for certain fish species.

Heatmap of user density: fishing is meant to be a calm, relaxing pastime. Imagine going to your go-to fishing spot and seeing there are already other people fishing there, stealing all your potential catches. Plan in advance using this heatmap to find areas where other fishermen will NOT be, so you can have all your fish to yourself.

Fish-classifying camera: take a photo of your catch, and GoFish will INSTANTLY tell you what species of fish you caught, whether its safe to eat (or whether you should throw it back in the water), and if safe to eat, it will provide recipes to make the most out of your catch.

Feed: a social media feed with your peers' catches, along with messages regarding the fishing area. If a previous fisherman realized that conditions are not optimal or had comments about the experience, they can share it with other users.

How we built it

Backend (Python):

  • PyTorch for creating and training the fish scanning model
  • Python FastAPI for the integrating heatmaps and data for optimal fishing spots
  • Open-Meteo-API to determine weather in different areas
  • Maplibre for creating our heatmaps
  • Environment Canada API for calculating flow rate of water to improve fish density metrics
  • Ontario habitat GeoJSON data for determining fish populations

How we used MongoDB Atlas:

  • Managed core application data in backend
  • Powered fish identification using vector search over image embeddings from camera scans

How we used Moorcheh:

  • Stored living community knowledge (safety guidance, recipes, and real-time condition reports) as text memory that grows with the community
  • Retrieved context-aware evidence based on fish species, location, and user preferences to support safe, grounded decisions
  • Enabled real-time learning by ingesting community reports immediately, so one person’s observation benefits everyone (in other words, chatting with your community to tell them about the fishing conditions at a given time)

Frontend:

  • Next.js using TypeScript and TailwindCSS

Challenges we ran into

Finding and integrating an API that found up-to-date fishing data to determine the probability of finding certain fish.

Accomplishments that we're proud of

We found a field that has no influence from tech. We talked to a devout recreational fisherman and listened to his struggles and annoyances. So we leveraged AI to revolutionize the fishing experience for all. We brought tech where it wasn't before.

What we learned

We learned about flaws in the fisherman's experience and created a product to fix these.

What's next for GoFish

Extending this idea to other nature-based, technically underrepresented activities, such as hiking, boating, camping, etc. We want to maximize leisure for people who want a break and minimize inconveniences. Faster surfacing of hazards is another goal for a future implementation.

Built With

Share this project:

Updates