Built and published by Yote Innovations Inc.

Entering for: the Grand Prize, the HAMM Award, the RevenueCat Design Award, and the #BuildInPublic Award.

What it does

PredictFish turns raw ocean science into a single answer: go here. It pulls live satellite and ocean-model data, sea-surface temperature, chlorophyll, temperature and colour breaks, currents, salinity, waves and convergence lines, and renders them on one marine map built for people fishing out of a boat, not people reading a journal.

Three things make it more than a data viewer:

  • FishScore. Tap anywhere at sea and it scores that spot for your species at any hour of the ten-day forecast.
  • WaterMatch. Pick a spot that is producing and it scans the whole visible ocean at satellite resolution for water with the same signature, so you can find the same conditions fifty miles away.
  • Ask Skippy and Plan your Trip. A voice fishing guide and an AI trip report that plans the run, marks stops, and explains the water in plain English, built only from real environmental data.

It is aimed squarely at Pacific Northwest offshore and coastal anglers chasing albacore, salmon, halibut and lingcod.

Inspiration

Anglers already know the ocean decides the day. Temperature breaks, colour edges, and where currents pile plankton against a shelf are the difference between a full fish hold and a long ride home. That information exists, in NASA and Copernicus archives, in formats built for scientists. Almost none of it reaches the person standing at the helm at 4am deciding which way to point the boat. PredictFish was built to close that gap without inventing anything: real data, or an honest gap where the satellite saw cloud.

How we built it

  • App. React Native and Expo, shipping a WebView-hosted map so the iOS app and predict.fish share one codebase and one release.
  • Map. MapLibre with custom raster layers rendered from float grids, plus animated particle fields for wind and swell.
  • Data. Copernicus GLO12 ocean model, NASA PACE, MUR and VIIRS via ERDDAP, SRTM15+ bathymetry, Sentinel-3 OLCI at 300 m, NOAA weather and radar.
  • Compute. AWS Lambda workers precompute the heavy derived science, including a backward-time finite-size Lyapunov exponent field that draws convergence filaments for the entire world ocean once a day, publishing byte-quantised frames to S3 behind CloudFront.
  • AI. Amazon Bedrock for trip reports and the Skippy voice guide, with Polly and Transcribe for speech.
  • Monetization. RevenueCat throughout: react-native-purchases for Apple in-app purchase, @revenuecat/purchases-js for RevenueCat Web Billing on Stripe, one predictfish_pro entitlement resolving both.

Challenges we ran into

The honest one is compute economics. Convergence lines are a fifteen-day particle integration, and computing them on demand for whatever the user was looking at cost seconds per frame and made the forecast timeline unusable. We moved the whole thing to a daily global precompute on Lambda, with a claim-safe tile queue, and forecast frames now arrive in under a second. Getting that right also meant learning that the build day has to start after the Copernicus bulletin publishes, not at midnight UTC, or you spend an evening rebuilding the world from yesterday's water.

The second was selling a subscription in two places at once without lying to anyone. Apple requires its own purchase path; the web path costs the user less because it costs us less. Both live in the same paywall, the saving is shown honestly, and RevenueCat resolves whichever one the customer used into a single entitlement.

Accomplishments that we're proud of

  • A global, daily, physically-real convergence field, the kind of product that usually sits behind an institutional licence, running for well under a dollar a day.
  • Never inventing data. Where the satellite saw cloud, the map shows a gap.
  • A paywall that offers Apple and the web side by side and lets the customer choose, instead of hiding the cheaper option.

What we learned

Precompute beats on-demand almost every time once more than one person is looking at the same ocean. And a subscription business that treats the app store as one channel rather than the only channel is both cheaper to run and easier to explain to customers.

What's next for PredictFish

Android, more of the Pacific coast and Alaska, and putting the catch logbook to work so FishScore learns from what actually got caught rather than from conditions alone.

Try it

Built With

Share this project:

Updates

Submission history