Angler Advisor
An AI Assistant for Fantastic Fishing
Published Feb 16, 2024
My friend loves to go fishing so I wanted to create a Generative AI application that she could use to plan what to take along on her weekly fishing outings. It was also something that would have broad appeal to the greater fishing community, particularly beginners seeking advice on their first-time fishing adventures. Angler Adviser is just that AI Assistant to increase interest in this outdoors hobby and put people in closer contact with nature through the joy of fishing.
Using AWS PartyRock, Claude and Stable Diffusion XL, this was easy to create with no-code and a little creative prompt engineering. The WYSIWYG application editing environment streamlines adding widgets to the application page, the re-sizing and re-arranging of the widget layout, and setting prompts to the underlying foundation models that integrate with input values from other widgets. The development cycle was tight with iterations of making tweaks to prompt strings, adding widgets as new features occurred to me (for example, fine-tuning to the user's experience or adding the checklist for identifying the fish you will catch), and testing the results for acceptability.
You as the user can specify your own custom parameters for fishing that will be used to tailor the generated responses to your particular fishing trip, including:
- Where? Claude can recognize place names like the "Chesapeake Bay," "Lake Washington," or the "Bering Sea." If it doesn't precisely recognize lesser-known waterways like the "Neshaminy Creek," then you can use "freshwater creek" as the location just to give the foundation model a context for the habitat in which you will be fishing.
- What? Claude recognizes the names of many different fish, including common local names (for example, it correctly discerns "rockfish" as "striped bass.") It can then recommend the appropriate bait and gear for the type of fish you would like to catch.
- How Experienced? If you are new to fishing then Claude can explain things that a more experienced angler already knows, or it can provide more concise answers if you are already an expert.
Angler Adviser then gives you:
- Recommended bait and gear to take with you on your fishing outing for optimal success.
- An identification checklist to help you recognize your fish from other species that may co-inhabit the waters where you are fishing.
- A picture of the fish (although this is not always the most accurate).
- Answers to your follow-up questions through a freestyle chat window.
The potential benefits here include not leaving home without the gear needed for your fishing trip, timesaving advice and preparation to make your fishing outing more successful and fun, and getting answers to your questions
Accounting for unusual user input that could cause misleading hallucinations (for example, imagine a user who wanted to fish for jelly donuts on the Sea of Tranquility, on the Moon) required careful prompt instructions such as:
- Letting the Claude LLM know that it is alright to respond that it doesn't know the answer to the user's question. LLMs are eager-to-please the user and will make-up fanciful answers even when they don't have confidence in how to answer.
- Setting the Photo style on the Stability Diffusion XL image generation model to avoid cartoonish images that are less helpful to the user for identifying the fish they have caught.
- Specifying that the Stability Diffusion XL image generation model should try to produce as photorealistic an image as possible in its prompt.
This screen is well-sized for printing out a portable "cheat"-sheet that you can take with you on the road to go fishing. There's no need to risk using your smartphone at the shore or on the boat where it might get wet, slip from your hands, or fall into the water.
Whether it's saving time by not forgetting to bring the bloodworms or providing first-time hobbyists that extra reassurance to have a fun excursion, Angler Advisor the AI Assistant for Fantastic Fishing holds a lot of promise for the recreational fishing community. It's the sort of real-world generative AI application prototype that can grow with the addition of:
- Map integration to enhance its place-name location awareness for pinpointing where at those locations the best fishing opportunities can be found.
- Journaling capabilities to remember and share notes of the successful fishing outings it has helped you plan, including learning from these experiences to improve future recommendations.
- Federated learning to share individual user data in a privacy-preserving manner with the broader community of app users (social fishing, if you will).
- E-commerce opportunities for in-line links that enable users to purchase and/or replenish necessary gear, supplies an clothing directly from the generated content.
I'd like to encourage wider adoption and improvement to this app by having more people try it. If you like to fish, or you know somebody who does, give this link a try and please share it on social media: https://partyrock.aws/u/harmon/QmcdhrOex/Angler-Advisor.
If you've never fished before, but you want to learn how, then give this link a try to find out what it will take: https://partyrock.aws/u/harmon/QmcdhrOex/Angler-Advisor.
Thank you for taking a look at the Angler Advisor. It has been my pleasure bringing it to you.