-
-
Checks if you need a lisence to go fishing
-
See if conditions are safe and if you need a fishing lisence
-
See which fish are most likely to get caught on your planned date and location
-
View the best times to catch fish
-
Plan your trip
-
Checking weather conditions within the app
-
Track your catches and achievements
Inspiration
Most fishing apps are designed for people who already fish. They assume familiarity with tide movement, bait selection, and licensing rules, which creates a barrier for first-time anglers. Galveston is a popular and accessible fishing destination on the Texas Gulf Coast, but a beginner has no single place to find out whether conditions are safe, where to fish, when to go, and what they are likely to catch. Go Fish combines those answers into one trip plan.
What it does
Go Fish generates a trip plan for beginner shore and pier fishing in Galveston, Texas. No boat is required.
- Safety verdict: a Go / Caution / No rating based on live weather alerts, wind, waves, heat, and rip current statements. Each factor lists its source and last update time.
- License check: three questions determine whether a fishing license is required. For example, no license is needed to fish from shore in a Texas state park.
- Trip plan: a map of three beginner-friendly locations, recommended time windows, and a tide chart. A "Why this time?" panel breaks down each score, with every factor labeled as data or rule of thumb.
- Fish cards: each species has a card covering bait, rigging, and hazards. Users see a daily pick (the species most likely to bite) along with other likely catches.
- Collection: all species are shown in a deck. Uncaught species appear as silhouettes, and logging a catch unlocks the card. Catch and release counts.
How we built it
- Frontend: React, Vite, Tailwind, React Router, Leaflet (map), and Recharts (tide chart). The interface is mobile-first for outdoor use.
- Backend: Node and Express, with a main
/api/planendpoint that retrieves live data and assembles the plan. - Live data: NOAA CO-OPS (tide predictions and water temperature from Galveston Pier 21), Open-Meteo (weather, wind, pressure, waves), and the National Weather Service (alerts).
- Curated data: species information, locations, license rules, and consumption advisories are maintained as hand-verified JSON with source links to TPWD and Texas DSHS. Regulatory information is never generated by an AI model.
- Scoring: a custom, explainable formula weighted by tide movement, water temperature, wind, and time of day, so every window's score can be traced to its inputs.
- Team workflow: a team of four, using different AI tools, coordinated through a shared project brief (
AGENTS.md) defining the API contract, identifiers, and design decisions.
Challenges we ran into
- Rip current data: our initial rule treated missing data as caution, but the Houston/Galveston weather office does not publish a surf zone forecast, so every day returned "caution." We switched to NWS rip current statements and kept the principle that missing data is never treated as safe.
- Daylight saving time: the time change on Sunday, Nov 1 makes that day 25 hours long. A hardcoded UTC offset would have shifted every fishing window by an hour.
- Scope: we initially planned user accounts, a community feed, and AI fish identification. We cut all three to deliver one complete, polished flow.
- Integration: coordinating four branches under time pressure led to a broken build after a late merge. We now run the build before every merge.
Accomplishments that we're proud of
- The app runs entirely on live data.
- Missing data is never presented as safe, and every value includes a source and timestamp.
- More than 100 backend tests, which caught real defects including fishing windows extending past sunset and a stalled external API blocking the whole app.
- A user can go from entering a trip date to a complete plan in a few taps.
- A clean, readable interface designed for beginners rather than experienced anglers.
What we learned
- Defining the data contract first lets frontend and backend development proceed in parallel.
- Beginner-friendly design depends on removing jargon and limiting each screen to a single decision.
- Public data has gaps, and handling them transparently matters as much as the data itself.
- Teams using different AI tools need a single shared source of truth to stay consistent.
What's next for Go Fish
- Gamification: species rarity, daily quests, streaks, collection badges, and a map of currently active locations.
- Species photos and identification guidance on every card.
- Mobile: a progressive web app with offline support, followed by a native app.
- Optional accounts (Supabase) for cross-device deck sync and alerts when conditions are favorable. The planner remains free without an account.
- Expanded coverage: additional Texas coast locations, then lakes and rivers.
Built With
- data-visualization
- express.js
- idb-keyval
- indexeddb
- javascript
- leaflet.js
- mapping
- national-weather-service-api
- noaa-co-ops-api
- node.js
- open-meteo-api
- react
- react-leaflet
- react-router
- recharts
- responsive-design
- tailwind-css
- vite
- weather-data
Log in or sign up for Devpost to join the conversation.