Every profile users built also trains a machine learning model for automatic identification, currently in beta. Phase 1 had to be worth using on its own, and it had to generate the data Phase 2 needs to exist.
Problem
Hunters are more likely to take a trophy buck if they know when and where that buck shows up on their trail cameras, and they plan their hunts around those patterns.
Our app had no tools for collecting or categorizing trail camera images at the level of an individual animal. Hunters were working around it with basic photo albums.
For Moultrie, that was also a business problem. The premium hunt planning subscription is built on helping hunters make better decisions, and individual buck tracking was a core hunter behavior it didn’t serve. Solving it well would strengthen the subscription’s value.
Where This Started
Buck List grew out of design exploration I was doing for a different feature. Deer Survey gave users population estimates based on a manual count of unique bucks across a set of images. On mobile, that meant reviewing images in the gallery, then going back to the survey to type in a number.


While designing Deer Survey for web, I wanted to make that review faster, so I designed buck profiles that sorted images by individual buck and held tine counts, notes, and a name. When I presented the work, leadership saw more value in tracking individual bucks than in the survey itself. Deer Survey for web went on the backburner, and the roadmap was reprioritized around what became Buck List.

Research
I inherited findings from an internal Moultrie survey of 3,844 deer hunters, which put numbers to both the behavior and the opportunity. The average user sees about 5.5 unique bucks in a season. 67% keep a seasonal target list, and 73% of those manage it with a photo album on their phone or computer.
My job was turning those findings into design priorities. Two stats did most of the work:
Product Approach
Phase 1 is manual. Users review recent images, assign them to profiles, and build a record of which bucks are on their property. Each profile captures a tagged image gallery, a profile photo, antler point counts, notes, and automatically surfaces when and where the buck was last seen. Phase 2 uses AI to identify matches and new bucks automatically.


The product owner’s one-pager set a target of 30% of users creating at least one buck profile by the end of the 25-26 whitetail season. That meant profile creation had to be nearly effortless. And because patterns only show up across repeat sightings, the system had to encourage hunters to keep tagging over time.
Every friction decision in the manual experience was also a data quality decision.
Design Decisions
Designing the Profile

The question of what to lead with when a hunter checks a profile was challenging. From the survey, I knew they are most interested in when and where a buck shows up.
A Workflow Built for Volume
Hunters reviewing new images might be sorting through hundreds of photos, almost always on a phone. I designed the flow so they can tag a whole run of photos at once, which is common when a buck hangs around a feeder. For harder calls, they open individual photos for a closer look.
The harder part was giving users something to compare against when an image wasn’t obvious. Fitting two trail camera images side by side and expecting users to read subtle biological cues like tine count, spread, and brow tine shape is asking a lot on a phone screen. We solved it with a flyout sheet of profile pictures that users can pull up over a new image to browse their existing bucks.


A Guided AI Confirmation Flow
For Phase 2, I designed a flow where the AI suggests matches and users confirm them before anything is saved. The team went with a fully automatic version for the beta, and I come back to that in the reflection.


Adapting When the Plan Changed
About three weeks before development started, a research spike came back with bad news. The bounding box data from smart tagging that we planned to use for automatic profile image cropping was not going to be available in a usable way.
Without automatic cropping, the fallback was to stretch the full trail camera image into the square thumbnail. The images came out distorted, and if two bucks showed up in the same photo, their profiles ended up with identical thumbnails.

Once the product owner agreed the extra step was worth it, I worked with the developers to adapt the cropping tool from Syncfusion, a component library we already had access to. We could restyle it, but we couldn’t change how it worked.
Most of my changes were about keeping the photo visible. The crop is locked to a square, so its four corner handles all did the same thing while covering part of the image. I replaced them with a single size slider. I also added a drop shadow to the drag handle so it shows up on the bright patches common in trail camera photos.
Outcomes
Phase 1 launched in time for opening day of deer season.
Adoption: 27% against a 30% target. We missed by three points. Profile creation takes effort up front, and we shipped without a usability testing round that might have caught friction we couldn’t see. But I think the bigger reason is awareness. The app has grown a lot in a short time, new features have gotten harder to notice, and we haven’t done enough to address that.
Identification: over 300,000 unique bucks identified. Images per buck also grew from 2.7 to over 4 across the season. Hunters kept adding to profiles after they made them, which is the repeat tagging the system was designed for.
Internal forecasts estimate the feature will add $11.8M in subscription revenue in FY27.
Reflection
If I had another pass, I’d start with the comparison flyout. On a hard call, users have to remember the new photo while they scroll through their bucks, since they can’t see both at once. A usability testing round would have caught that early, but we ran out of time before the season deadline.
Phase 2 is in beta now, and the team took it in a different direction than I recommended. Instead of suggesting matches for hunters to confirm, it identifies and creates bucks automatically in the background. Early feedback has been mixed. Testers say the automatic IDs aren’t accurate enough yet, but they’re also excited about the feature and say they plan to use it a lot. I still think a confirmation step is the best way to earn their trust while the model improves, since every correction a hunter makes is also better training data.