Patentable/Patents/US-20250322013-A1
US-20250322013-A1

Systems and Methods for Artificial Fly Recommendation

PublishedOctober 16, 2025
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Methods and systems are provided for automatically recommending an artificial fly for fly fishing based on an image of an insect, and a mobile application configured to execute the systems and methods. In one example, the method comprises acquiring a first digital visual representation of an insect for identification in real time, comparing the digital representation to a labeled dataset in real time, matching an identity and a life phase to the insect, and storing the identity and the life phase as an identified insect. The method includes determining a rise reading based on a fish behavior parameter. The method includes matching the identified insect and the rise reading in real time to one or more artificial flies and fishing presentations stored in a fly index and displaying a second digital visual representation of the one or more artificial flies and fishing presentations on a display of the mobile device.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

. A method for a mobile application, comprising:

2

. The method for the mobile application of, wherein a greater weight is assigned to the rise reading than the life phase when matching the one or more artificial flies and fishing presentations.

3

. The method for the mobile application of, wherein determining the rise reading comprises:

4

. The method for the mobile application of, wherein the one or more artificial flies and fishing presentations comprises an exact insect imitation, a basic imitation, a best fly presentation, and an alternate fly presentation.

5

. The method for the mobile application of, wherein the labeled dataset comprises a plurality of images of insects and life cycle phases, and corresponding taxonomic classification, and matching the identity and the life phase to the insect comprises:

6

. The method for the mobile application of, further comprising:

7

. The method for the mobile application of, further comprising:

8

. The method for the mobile application of, further comprising generating and displaying a user interface to build and store a user fly box profile representing artificial flies in possession of a user, and matching the identified insect and the rise reading to one or more artificial flies in the user fly box profile.

9

. The method for the mobile application of, wherein the user fly box profile comprises one of a plurality of preset fly box profiles and corresponding kits, including minimalist, medium, and well-equipped collections of artificial flies.

10

. The method for the mobile application of, further comprising:

11

. A system comprising:

12

. The system of, wherein the processor with computer readable instructions stored on non-transitory memory that when executed during electronic communication with the mobile application and the mobile device cause the processor to further comprise:

13

. The system of, wherein the fly recommendation comprises one or more fishing presentations and one or more artificial flies, the first fishing condition comprises a rise reading, and the computer readable instructions stored on non-transitory memory further comprise:

14

. The system of, wherein the processor with computer readable instructions stored on non-transitory memory that when executed during electronic communication with the mobile application and the mobile device cause the processor to further comprise:

15

. The system of, wherein the processor with computer readable instructions stored on non-transitory memory that when executed during electronic communication with the mobile application and the mobile device cause the processor to further comprise:

16

. The system of, wherein the processor with computer readable instructions stored on non-transitory memory that when executed during electronic communication with the mobile application and the mobile device cause the processor to further comprise:

17

. The system of, wherein the mobile application comprises:

18

. A non-transitory memory with instructions stored thereon, that when executed by a processor, cause the processor to perform operations comprising:

19

. The non-transitory memory with instructions stored thereon, that when executed by the processor, cause the processor to perform operations of, further comprising:

20

. The non-transitory memory with instructions stored thereon, that when executed by the processor, cause the processor to perform operations of, further comprising:

Detailed Description

Complete technical specification and implementation details from the patent document.

The present application claims priority to U.S. Provisional Application No. 63/632,477 entitled “SYSTEMS AND METHODS FOR ARTIFICIAL FLY RECOMMENDATION” filed Apr. 10, 2024. The entire content of the above application are hereby incorporated by reference for all purposes.

The present application relates to systems and methods for automatically recommending an artificial fly in possession of a user for fly fishing based on an image of an insect, and further relates to a mobile application for executing the systems and methods.

Fly fishing is a specialized form of fishing which combines casting techniques and fishing lures, referred to as artificial flies or flies, to mimic the behavior of insects. One aspect of fly fishing includes fly selection. Typically, a fisherman may select a fly based on observations of the fishing site. For example, observations may include what prey the fish are feeding on at the site and whether the fish are feeding on the surface of the water or otherwise. The fisherman may select a fly from his or her tackle box based on the observations, for example, by attempting to match characteristics of observed prey to a fly. The fisherman may then attempt to cast or present the fly in a manner that mimics the behavior of the prey.

The sport appeals to fishermen across a broad range of experience, as even expert fly fishermen may find the process of fly selection and presentation challenging. Prey may include aquatic, terrestrial, and amphibious insects, crustaceans, and small fish. In the case of insects, the observed prey may be present in one or more life cycle phases at the location. For example, the fisherman may observe an adult life form of a prey insect, which may also be present in a larvae or pupa form, or vice versa. Much has been written on the subject of fly selection, including guides and other tools for determining which prey may be present at a location and matching flies to the prey. However, experienced fly fishermen know that many highly variable conditions may influence on which prey the fish feed on at any time. Even if the fisherman ably identifies prey at the fishing location, determining which fly to present to the fish may remain a challenge. For example, the fisherman may yet determine which prey or which characteristics of the prey to attempt to mimic, such as, the color, the size, the shape, or the movement or position in the water.

Some approaches for assisting fly fishermen include digital tools for insect identification. For example, a number of mobile applications exist that can identify an insect from a photographic image, or enable a user to identify an insect from a database using descriptive keywords and other parameters such as geolocation. Further, some digital tools include suggesting one or more flies based on an identified insect or other conditions. Further approaches include fishing kits with flies and corresponding instructions for selection, guidebooks, hatch charts, and identification keys.

However, the inventor herein has recognized shortcomings with such approaches. As one example, matching an artificial fly to an identified insect is not straightforward, and many factors may be considered before an appropriate fly and presentation technique are determined. As another example, thousands of fly patterns are known. A recommended fly may not be in the possession of the fisherman, and a workable alternative may not necessarily be obvious. Relatedly, even an expert fly fisherman may struggle to keep a mental map of a well-stocked fly box. In this case, determining whether or not they have in possession a recommended fly, or workable alternative, may be challenge. For novices and intermediate sportsmen, building and using a well-stocked fly box may take considerable time and effort.

In one example, the issues described above may be at least partially addressed by a method for automatically recommending one or more artificial flies from a tackle box based on a photographic image of an insect, and a mobile application for executing the method. The method uses a mobile phone camera to capture the photographic image of the insect at fishing location, uses image recognition to automatically identify the insect, obtains an observation of fish feeding behavior at the fishing location, and automatically recommends artificial flies that are in the possession of a user based on the identified insect and the fish feeding observation. The method recognizes the insect at the different life cycle phases relevant to the species (e.g., larva, dun, emerger, spinner, pupa, etc.) and categorizes the fishing fly suggestions based on life phase.

In this way, the disclosed approach provides real time recommendations based on actual fishing conditions while considering the specific artificial flies in possession of the user. By basing the recommendation on the actual fishing conditions and the fly inventory of the user, a technical advantage of reducing the processing load to generate accurate and relevant recommendations is provided, while relieving users of the guess work of fly selection. As a result, expert fisherman may catch more fish, and novices may develop fly fishing skills faster.

It should be understood that the summary above is provided to introduce in simplified form a selection of concepts that are further described in the detailed description. It is not meant to identify key or essential features of the claimed subject matter, the scope of which is defined uniquely by the claims that follow the detailed description. Furthermore, the claimed subject matter is not limited to implementations that solve any disadvantages noted above or in any part of this disclosure.

The following description relates to systems and methods for a fly fishing, and a mobile application configured to execute the disclosed systems and methods. In one example, the mobile application executes a process for automatically recommending artificial flies (also herein flies) in possession of a user based on an identified insect and a description of fish feeding behavior. In some examples, the mobile application includes processes for building a database representing artificial flies in possession the user. In some examples, additionally, or alternatively, the mobile application includes processes for building a tackle box or fly box that corresponds with the recommendations of the mobile application. The mobile application further includes processes for automatically identifying an insect based on image, for example, by using image recognition, including life phase of the identified insect. The mobile application further includes processes for determining fish feeding behavior, such as fish breaking the surface of the water, subsurface activity, or no surface activity. By matching the fish feeding behavior and the identified insect to one or more artificial flies in possession of the user, the mobile application may automatically determine one or more artificial flies to recommend to the user for fly fishing. In some examples, recommended flies may be displayed to the user including descriptions such as the insect and life phase mimicked by the fly, presentation technique, or other parameters.

The mobile application may further include processes for manual insect identification, where the user may view photos of insects and determine prey at the fishing location therefrom. The mobile application may automatically recommend flies based on the manually identified insect. The mobile application may further include a user log or journal, e.g., a fish log, where the user may record a fishing experience. For example, the user log may store a location, time and date of a fish caught, photos of the fish, species of the fish, insect identified at the location, a recommended artificial fly, a recommended fishing presentation, the artificial fly used, and so on. In some examples, the mobile application may include opportunities for partnerships or promotions with fishing outfitters, including links to purchase flies, fly fishing kits, or other merchandise. For example, the user may request to view recommended flies for purchase (e.g., not in possession of the user) based on an identified insect or other parameters, which the user may add to a shopping list. The mobile application may direct the user to an affiliated retailer for purchasing the flies on the shopping list.

The following description provides examples of systems and methods that may enable a mobile application, such as mobile applicationshown in, to recommend artificial flies in possession of a user based on an identified insect, life phase, and a fish feeding behavior observation. The mobile application may be implemented by one or more computing systems, such as computing systemshown in. Computing systemmay include non-transitory memory, which may include instructions that when executed cause the processor to perform operations comprising one or more steps of one or more of the methods herein disclosed, such as methods,,, anddiscussed in detail below. It will be understood that mobile applications, such as mobile application, may be implemented by more than one computing system, such as in a distributed computing scheme, wherein various functionalities of the mobile application may be enabled by a plurality of networked computing systems working in concert.

In a few examples, the mobile application may include a process for recommending artificial flies in possession of a user according to a method, such as the methodshown in. The mobile application may include a process for building a data set representing artificial flies in possession of a user according to a method, such as the methodshown in.shows an example of a method by which the mobile application may identify an insect from an image based on image recognition.shows an example method by which the mobile application may determine the best flies for fishing given an insect identity and life phase, fish feeding behavior observation, and the artificial flies in possession of the user. As used herein, the best flies may be understood to be the artificial flies that when used increase a likelihood that the user catches a fish at the fishing location. In one example, the best flies may be determined according to the systems and methods described herein, such as based on fishing conditions, one or more fly recommendation algorithms, and other factors.illustrate example frames of a graphical user interface that may be rendered by a display of a user computing system as part of a process of recommending artificial flies on a mobile application.

schematically shows an example fly recommendation systemincluding a mobile applicationimplemented by a computing system. The mobile applicationmay be configured to electronically communicate with external computing systems, such as one or more mobile devices, tablets, or personal computers. One or more or a plurality of users may interface with the mobile applicationvia one or more mobile devices, tablets, or personal computers. In one example, mobile applicationmay be configured to electronically communicate with one or more additional computing systems via a network such as the Internet, wherein the electronic communication may in one example comprise transmission and reception of data between the mobile applicationand one or more additional computing systems. In one example, mobile applicationmay be configured for offline functionality.

The mobile applicationmay be accessed by a uservia a mobile device, e.g., a smart phone. The mobile applicationmay be a system for recommending artificial flies in possession of a user, such as the user, based on an identified insect, life phase, and fish feeding behavior observation. For example, the mobile applicationmay recommend one or more of a plurality of artificial flies,,included in user fly box(e.g., a tackle box, bait box) associated with the user. Example features of the mobile applicationincluding processes for recommending artificial flies are described in more detail below and with reference to.

Computing systemmay implement the mobile applicationalone, or in combination with other computing systems. In one example, computing systemmay comprise a server. Computing systemincludes processor, non-transitory memory, network adapter, input device, and display.

Processormay include one or more physical devices configured to execute computer readable instructions stored in non-transitory memory. For example, processormay be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs included in mobile application.

Network adaptermay comprise one or more physical devices associated with computing system, enabling transmission, and reception of data between computing systemand one or more additional computing systems. Network adaptermay enable computing systemto access a local area network, and/or the Internet, and exchange data therewith, such as data which may enable retrievable storage of user fly box profiles and matching between user fly boxes, detected insects, other fishing conditions, and fly recommendations.

Non-transitory memoryincludes one or more physical devices configured to hold data, including instructions executable by the processor to implement the methods and processes described herein. When such methods and processes are implemented, the state of non-transitory memorymay be transformed—e.g., to hold different data. In some examples, non-transitory memorymay include one or more databases, such as a first database, a second database, and so on. These databases may represent logical partitions or specific memory locations within a single database. Additionally, or alternatively, non-transitory memorymay comprise a plurality of memory locations, such as a first memory location, a second memory location, a third memory location, a fourth memory location, a fifth memory location, and so on. The terms “module” and “program” may be used to describe an aspect of the computing system implemented to perform a particular function. The terms “module” and “program” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc. Non-transitory memoryincludes the various files/routines/methods of mobile applicationthat when executed by processorperform one or more of the steps herein described with reference to one or more of the disclosed methods. In one example, the files/routines/methods included in non-transitory memorymay be hard coded, thereby enabling the mobile applicationto function offline. Computing systemmay optionally include display(s), user input device(s), communication interface(s), and/or other components.

Non-transitory memoryoptionally includes one or more or all of a user fly box index, an insect index, a fly index, user logs, and a retailer index. User fly box indexmay be stored within non-transitory memoryof computing system, and may comprise a database or module used by computing systemin conjunction with the mobile applicationto retrievably store data sets representing artificial flies in possession of one or more users of the mobile application. In one example, a data set representing artificial flies in possession of a user may be referred to as a fly box profile. For example, the user fly box indexmay include a fly box profile representing the user fly box. As another example, additionally, or alternatively, user fly box indexmay comprise a database or module used by computing systemin conjunction with the mobile applicationto build a user fly box (e.g., a physical tackle box comprising a plurality of fishing flies) corresponding to one or more artificial fly databases of the mobile application. For example, the user may have one or more real fly boxes that include a plurality of artificial flies that match the plurality of artificial flies represented by the fly indexor a subset of the fly index. Insect indexmay comprise a database or module containing information regarding identifying features of insects and life phases, images, and other data related to insects that are identifiable via mobile applicationincluding, for example, one or more algorithms for automatically identifying insects using image recognition. Similarly, fly indexmay comprise a database or module relating to artificial flies, including, for example, one or more algorithms for matching identified insects and/or other fishing conditions to artificial flies, identifying features of artificial flies (e.g., sizes), images, and other data related to artificial flies that may be referenced as part of a fly box profile, recommended for use, and/or purchased via the mobile application. For example, a body of water may be understood as a water column, and artificial flies may be categorized based on a position in the water column where in the flies are most effective, or an insect habitat position in the water column that the artificial flies mimic, or other fish feeding behavior-related categories. User logsmay be stored within non-transitory memoryof the computing system, and may comprise a database or module where users may record a fishing experience. Further optionally, retailer indexmay be stored within non-transitory memoryof computing system, and may comprise a database or module relating to fly fishing outfitters, retailers, promotions and/or sponsor-related information on the mobile application.

Displaymay comprise a monitor, touch screen, projector, or any other device known in the art of computers for enabling a user to observe or sense information rendered by a digital device. Computing systemmay have stored within non-transitory memoryinstructions for rendering data, such as mobile applicationdata, within a graphical user interface which may be displayed by display. Input deviceenables a user to interface/interact with computing system, and may comprise one or more hardware devices, such as a touch screen, camera, keyboard, or other devices configured to transform user motions, gestures, sounds, or other user actions into an electronic form which may enable a user to input data, or transmit, select, modify, or otherwise interact with data or data structures stored in or displayed by computing system.

The mobile deviceincluding displaymay be one example of the input deviceand the display. For example, the usermay interface/interact with computing systemusing the mobile device. The mobile deviceand other input devices of users may each include a processor, memory, communication interface, display, user input devices, camera, GPS/position sensors, and/or other components. In one example, information from mobile applicationmay be transmitted to mobile devicevia a network connection (such as the Internet) between the mobile deviceand the mobile application, for rendering within the displayimplemented at the mobile device. The displaymay be used to present a visual representation of the mobile application. This visual representation may take the form of a graphical user interface (GUI), an example of which is illustrated in.

Turning to, mobile applicationmay optionally include one or more or a plurality of features (e.g., modules or programs) including one or more or all of a fly box builder, insect identifier, fly recommender, rise reader, user log, and retail experience. As illustrated in, the various modules of the mobile applicationmay include instructions stored in non-transitory memorythat are executable by processorof computing system. In other examples, the modules may be stored on multiple memories and/or executed by multiple processors distributed across multiple computing devices connected by a network.

Fly box buildermay include instructions and/or information relating to building datasets or fly box profiles representing artificial flies in possession of a user associated with the mobile application, such as the userof. In one example, the fly box buildermay generate one or more user interfaces which enable the user of the mobile applicationto build one or more fly box profiles. The one or more fly box profiles may be stored in memory and retrieved for use in a fly recommendation request, a retail experience, or other use via the mobile application. In one example, the fly box buildermay display one or more of images, names, and descriptions of artificial flies, including the insect that the fly mimics, the color, the size, or other characteristics. The fly box buildermay further recommend artificial flies based on various parameters, such as user answers to prompts, execution of the fly recommender, or other processes of the mobile application. The interface(s) associated with the fly box buildermay allow the user to scroll through the displayed artificial flies and confirm that they have the artificial fly in their fly box, for example, by clicking a button, or otherwise indicating. As used herein, button may refer to any type of user input that provides a user a mechanism to select, confirm, or otherwise indicate a choice.

In some examples, the fly box buildermay include a plurality of preset fly box profiles and corresponding kits which allow the user to simply and quickly build a fly box and retrievably store the corresponding fly box profile in non-transitory memory. For example, preset fly box profiles and corresponding kits may include minimalist, medium, and well-equipped collections of artificial flies, which may range in one or more or all of artificial fly quantity, fly presentation skill level, complexity, target fish species, regional specificity, generality, or other variables. As one non-limiting example, a minimalist kit may include twenty-five artificial flies, a medium kit may include forty artificial flies, and a well-equipped kit may include eighty artificial flies. However, other arrangements may be imagined. In one example, the user may visit the fly box builderto create, update, restock, review, or otherwise interact with one or more fly box profiles. In some examples, the user may maintain one or more fly box profiles, which may be selected for fly recommendations during a given fishing trip. An example method for building a fly box profile, which may be implemented by the fly box builder, is shown in.

Insect identifiermay include instructions and/or information relating to identifying insects. In one example, the insect identifiermay include processes for automatically identifying insects from a captured image using image recognition. For example, the insect identifiermay generate one or more user interfaces which enable the user to interact with and/or provide inputs that are used as part of the process to automatically identify an insect. For example, the processes and corresponding user interfaces may include one or more of capturing or acquiring a real time digital visual representation (herein also referred to as an image) of insect in real time, selecting a digital visual representation of an insect stored in memory of a mobile device or the mobile application, automatic image processing, automatic image matching to an insect database (e.g., insect indexin), automatic determination of the insect identity, automatic determination of the life phase of the insect, and displaying the identity and life phase of the insect to the user.

In an additional, or alternative, example, the insect identifiermay include processes for manually identifying insects, and one or more user interfaces wherein the user may engage in the processes for manually identifying insects. In one example, the insect identifiermay generate prompts relating to identifying characteristics of the insect. For example, a prompt may request that the user input whether the insect is on the water surface or under the water surface. The insect identifiermay display one or more of images, names, and descriptions of insects based on the input. Further, the insect identifiermay display previously identified insects. The interface(s) associated with the insect identifiermay allow the user to scroll through the displayed insects and confirm the identification, for example, by clicking a button, or otherwise indicating. An example method for automatically identifying an insect, which may be implemented by the insect identifier, is shown in.

Fly recommendermay include instructions and/or information relating to recommending artificial flies. In one example, the fly recommendermay include processes for automatically recommending flies in possession of a user based on fishing conditions and one or more corresponding user interfaces which enable the user interact with the processes for automatically recommending artificial flies. As one example, the fishing conditions may include an identified insect, life phase of the identified insect, and a fish behavior observation, such as an observation of fish feeding behavior. In response to a request to recommend a fly, the fly recommendermay generate one or more of the interfaces of the fly box builder, the insect identifier, and the rise reader, and render the one or more interfaces on the display of the user's mobile device. In additional, or alternative, examples, fishing conditions may include fewer, more, or different conditions, such as, but not limited to, altitude, geography, location, GPS data, weather, time of year, user settings, or others, and the fly recommendermay execute one or more additional, or alternative, processes and user interfaces to corresponding thereto.

In one example, the rise readermay include one or more processes for determining real time fishing conditions and one or more corresponding user interfaces. One example of real time fishing conditions may include a fish behavior parameter or fish feeding habits at a fishing location, also herein referred to as reading the rise. As used herein, reading the rise may include observations of feeding behavior of fish at a fishing location where the user is requesting a fly recommendation from the mobile application. For example, a position in the water column, e.g., relatively lower or higher, where the fish are feeding may be a factor in determining a fly recommendation. The rise readermay present (e.g., display) one or both of images and descriptions of fish feeding behavior and prompt the user to select the feeding behavior most similar to the observed behavior at the fishing location, for example, by clicking a button or otherwise indicating. For example, the images may include animated images, such as a GIF, still images, or both. Additionally, or alternatively, the rise readermay include processes for automatic detection of fish feeding behavior, such as, by matching photographic images or video of the fishing location to a database of feeding behavior images and video.

The fly recommendermay determine one or more recommended artificial flies based on the fishing conditions and display the recommendations to the user. For example, the method may include matching the fishing conditions and the identified insect to one or more fishing presentations and artificial flies. The fly recommendermay determine and display additional recommendations if requested. For example, the user may request to see recommended flies that are not in included in the fly box profile of the user, which may be added to a shopping list. Example methods for recommending an artificial fly, which may be implemented by the fly recommender, are shown in.

In one example, the fly recommendermay weight factors to determine one or more recommended flies. Weighted analysis may increase recommendation accuracy. For example, upon receipt of a user request to recommend a fly, the fly recommenderand associated algorithms may assign a weight to certain factors based on the fishing conditions, and in other circumstances, the factors may be weighted differently. The weights may be assigned automatically. As an example, the fly recommendermay determine a fishing presentation based on the fish feeding behavior observation and the life phase of the insect, where a greater weight is assigned to the fish feeding behavior observation than the life phase of the insect when determining the fishing presentation. The fly recommendermay select one or more artificial flies from the artificial fly database based on the determined fishing presentation and the insect identity. As another example, the identified insect may be assigned a first weight, a first fishing condition (e.g., a rise reading or other condition) assigned a second weight, and the fly recommendermay determine the fly recommendation based on the first weight, the identified insect, the second weight, and the first fishing condition.

As another non-limiting example, a first set of fishing conditions may include a local altitude (e.g., a first fishing condition) greater than a threshold (e.g., altitude ≥6000 feet), an identified insect in the adult life phase, and surface fish feeding behavior. Based on the first set of fishing conditions, the fly recommendermay assign a greater weight to the altitude than the insect identity and feeding behavior in determining the one or more fly recommendations. A second set of fishing conditions may include the local altitude (e.g., the first fishing condition) less than the threshold (e.g., altitude <6000 feet), the same identified insect in the adult life phase, and surface fish feeding behavior. Based on the second set of fishing conditions, the fly recommendermay assign an equal weight to the altitude, the insect identity, and feeding behavior in determining the one or more fly recommendations. In another example, a greater weight may be assigned to the fish feeding behavior than the insect identity, the life phase of the insect, or other factors, for determining the fly recommendation.

User logmay include instructions and/or information relating to creating, storing, and viewing fishing experiences associated with the mobile application. In one example, the user logmay generate one or more user interfaces which enable a user to input data relating to a fishing experience including, for example, one or more images of a caught fish, a date, time, and location of the catch, body of water, identified insect, artificial fly used, the species of fish, and other notes. In another example, additionally, or alternatively, the user logmay automatically store fishing experiences, such as a photographed insect, corresponding identity and matched fly or flies, and the date, time, and location of the fishing experience. Additionally, or alternatively, the user logmay generate visual content based on the fishing experiences for display via a user interface of the mobile application. The interface(s) associated with the user logmay allow the user to scroll through or otherwise search (e.g., using keywords) an image gallery of caught fish, identified insects, and artificial flies, as well as review notes associated with fishing experiences. In some example, the user logmay include an option to make one or more logged fishing experiences public, e.g., publically accessible, to other users of the mobile application. In some examples, the public logged information may be accessed in real time by other users. In some examples, the user log may organize and retrievably store multiple data types, such as image data, geographic/GPS data, date/time, etc., and integrate the multiple data types into unified visual representation. For example, the user logmay display logged information, such as, but not limited to, insect image, the identified insect, the date, time and location on a map.

Retail experiencemay include instructions and/or information relating to retail, promotional, or sponsor-related experiences on the mobile application. In one example, the retail experiencemay generate one or more user interfaces which enable a user to create a shopping list of recommended artificial flies. In another example, the retail experiencemay generate one or more user interfaces which enable a user to purchase recommended artificial flies from one or more retailers affiliated with the mobile application. In one example, the interface(s) associated with the retail experiencemay allow the user to scroll through or otherwise search (e.g., using keywords) through one or more databases (e.g., catalogues) including artificial flies for purchase, fly fishing trips, guide experiences, or other promotions offered through one or more retailers affiliated with the mobile application.

Implementation of a mobile application for recommending artificial flies (hereinafter a fly) in a possession of a user is shown in methods,,, andin, respectively. The method, and the other methods disclosed herein, provide artificial fly and fishing presentation recommendations based on real time fishing conditions. In one example, the methods,,, andmay be executed as part of a fly recommendation system, such as the fly recommendation systemdescribed with reference to. In one example, the methods,,, andmay be stored in non-transitory memory of a computing system implementing a mobile application, such as computing system, and one or more, or all, of the steps of the methods,,, andmay be automatically executed by the mobile application, or by one or more subcomponents, modules, databases, or subsystems of the mobile application. In one example, the mobile application may be the mobile applicationdescribed with reference to. Methodis a flowchart describing a high-level process for automatically recommending a fly. Methodis a flowchart describing a method for building a user fly box profile. Methodis a flow chart describing a method for identifying an insect based on image recognition. Methodis a flowchart describing a method for automatically recommending a fly in possession of a user based on an identified insect and a fish feeding behavior observation.

Turning now to, a flow chart illustrating the methodfor automatically recommending an artificial fly is shown. The methodmay initiate in response to a mobile application, such as the mobile application, determining a user has accessed a startup screen associated with the mobile application.

At, the methodmay include receiving a request to recommend a fly. For example, the user may access the mobile application through a mobile device such as a tablet or mobile telephone. Once accessed, the user may select from a menu of the mobile application to recommend a fly. For example, the user may click a button or otherwise indicate the request to recommend a fly. At, the methodmay include displaying a fly recommender interface, such as an interface of the fly recommenderin.

At, the methodmay include receiving or determining a user fly box profile. In one example, the methodmay receive a user fly box profile, for example, in response to the user selecting a stored user fly box profile from a menu of the fly recommender interface. For example, one or more fly box profiles may be stored in the user fly box indexin. The mobile application may display stored profiles for selection by the user. Alternatively, the methodmay determine a fly box profile, for example, in response to the user requesting to build a new fly box profile. In such an example, the methodmay include displaying a fly box builder interface, such as one or more interfaces of the fly box builderin, and executing corresponding processes with reference to one or more databases or modules, such as the user fly box indexand the fly indexin, and the methoddescribed below with reference to.

At, the methodmay include automatically identifying an insect from an image based on an image recognition algorithm. The methodmay include displaying an insect identifier interface, such as one or more interfaces of the insect identifierin, and executing corresponding processes with reference to one or more databases or modules, such as the insect indexin, and the methoddescribed below with reference to.

For example, at, the methodmay include acquiring, with a camera of a mobile device, a first digital visual representation of an insect for identification in real time. The method may include comparing the first digital visual representation to a labeled dataset, matching an identity and a life phase to the insect and storing the identity and the life phase as an identified insect in an insect index.

At, the methodmay include receiving or determining a fish feeding behavior observation. In example, the methodmay include displaying a rise reader interface, such as one or more interfaces of the rise readerin, and executing corresponding processes.

For example, at, the methodmay include determining a rise reading based on a fish behavior parameter, such as fish feeding behavior. The mobile application may display example one or both of images and descriptions of fish feeding behavior for selection by the user. The user may select the example image and/or description which is most similar to the observed fish feeding behavior at the fishing location. As a few examples, the mobile application may display one or more images and/or descriptions including fish breaking the surface, small ripples but no fish visible, and no surface activity. Alternatively, the methodmay automatically determine the fish feeding behavior, for example, by matching photographic images or video of the fishing location to a database of fish feeding behavior images and video. Additionally, or alternatively, the fish feeding behavior observation may be one example of a fish behavior parameter. In a few other non-limiting examples, the fish behavior parameter may include breeding behavior, migration patterns, predatory style, and so on.

At, the methodmay include automatically determining a fly recommendation based on the identified insect, the fish feeding behavior determination, and the user fly box profile. For example, the methodmay include executing a fly recommendation algorithm with inputs including the identified insect, the life phase of the identified insect, fish feeding behavior, and the user fly box profile. The methodmay include referencing one or more databases or modules, such as the user fly box index, the insect index, and the fly index, and executing corresponding processes, such as the methoddescribed below with reference to. For example, at, the methodmay include matching the identified insect and the rise reading to one or more artificial flies and fishing presentations stored in a fly index (e.g., fly indexin). In other examples, the fly recommendation algorithm may base fly recommendations on fewer, more, or different inputs, and corresponding sub-processes. As a few non-limiting examples, inputs may include GPS data, weather, time of year, user settings, user log data, public user log data, and others. Further, as noted above, the fly recommendation algorithm may automatically assign weights to the inputs when determining recommended flies. The assigned weights may vary based on the fishing conditions or other factors. In some examples, the fly recommendation may include the artificial fly or flies and fishing presentation, such as casting technique, line management, fly drift, angle or other movement on or in the water.

At, the methodmay include displaying one or more artificial fly recommendations. In other words, the methodmay include rendering a digital visual representation (e.g., a second digital visual representation) of the recommended artificial flies including one or more of images, drawings, descriptions, presentation technique, and other associated data. In one example, the artificial fly recommendations may be presented as a simplified menu with options to view more details. In one example, the user may scroll through the fly recommendation menu and select an artificial fly to fish with. For example, the user may click a button or otherwise indicate confirmation of the artificial fly recommendation.

At, the methodmay include determining whether user confirmation of an artificial fly selection is received. In response to determining an artificial fly selection is received, the methodmay determine whether the user log is requested at. In response to determining an artificial fly selection is not received, the methodmay include determining whether an exit request is received at. For example, the methodmay include determining whether the user has selected an exit button associated with the mobile application. In response to determining the user has not requested to exit, the methodmay continue to display the fly recommendation at.

In response to determining the user log is requested at, the methodmay include generating a user log interface at, such as one or more of the interfaces associated with the user login, and displaying the user log interface at.

In response to determining the user log is not requested at, the methodmay include determining whether a fly shop request is received at. In response to determining a fly shop request is received, the methodmay include generating a fly shop interface at, such as one or more of the interfaces associated with the retail experiencein, and displaying the fly shop interface at.

Turning now to, a flow chart illustrating the methodfor building a user fly box profile is shown. The methodmay initiate in response to a mobile application, such as the mobile application, determining a user has accessed a startup screen associated with the mobile application.

At, the methodmay include receiving a request to build a fly box profile. For example, as detailed above, the user may access the mobile application through a mobile device such as a mobile telephone, e.g., a smart phone, and select from a menu of the mobile application to build a fly box profile. As another example, the request to build a fly box profile may be received as part a fly recommendation process, e.g., via the fly recommenderin. For example, the request to build a fly box profile may be received in response to the user indicating that they do not have a stored fly box profile. At, the methodmay include displaying a fly box builder interface, such as an interface of the fly box builderin.

At, the methodmay include determining whether a quick build request is received. In one example, the methodmay determine a quick build request is received in response to an indication from the user, such as the user clicking a button or otherwise indicating. Selecting quick build enables the user to build a fly box profile from a preset profile corresponding to a fly kit, as described above.

Patent Metadata

Filing Date

Unknown

Publication Date

October 16, 2025

Inventors

Unknown

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEMS AND METHODS FOR ARTIFICIAL FLY RECOMMENDATION” (US-20250322013-A1). https://patentable.app/patents/US-20250322013-A1

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.