Inspiration

One of us has a neighbor who spent three days walking around with a stapled stack of flyers after her dog got out during a thunderstorm. Meanwhile the dog had already been found two streets over, but the person who found him had posted about it in a Facebook group the neighbor wasn't even a member of. That's the actual problem: lost and found pet posts exist, there are tons of them, but they're scattered across Nextdoor threads, random Facebook groups, and physical flyers, and nothing is actually trying to match them to each other. When we saw AnimalHack's call for projects on reuniting lost pets with their families, this was the first thing we thought of, because it's a problem that's almost entirely about bad information plumbing, not a lack of caring people.

What it does

Pawtrail is a simple two-sided reporting platform: if you lost a pet, you file a Lost report; if you found one, you file a Found report. Each report includes a photo, basic details (species, color, size, location, date), and a free-text description in your own words — "shaggy brown dog, kind of shy, was wearing a red bandana" is a totally normal thing to type in.

Behind the scenes, we use AI to read that free text and pull out structured details that a plain keyword search would miss, so a "found a scruffy brown pup near the park" report and a "lost my curly-haired lab mix on Elm St" report actually get compared to each other instead of sitting in unrelated silos. Matching Lost and Found reports surface to both people automatically.

The part we spent the most time on is the claim flow. When you file a Found report, we ask you to include one detail you don't make public — a specific marking, a scar, something on the collar. If someone shows up claiming the pet, they have to describe that hidden detail without being prompted. We show the finder how well the claim lines up, but we never auto-approve anything — the finder always makes the final call. We built it this way on purpose: no app can actually prove who owns an animal, and we didn't want to pretend otherwise. What we can do is give the finder better information than "some stranger says it's theirs."

How we built it

We built the frontend in Next.js and TypeScript with Tailwind for styling, since that let us move fast on the report forms and the public feed. Firebase (Firestore for data, Storage for photos) handles the backend, so we didn't have to stand up our own server for a hackathon timeline. For the AI layer, we used Claude to turn free-text descriptions into structured fields and to compare claim details against the hidden information a finder submits — that piece runs entirely server-side so a claimant can never see what they're being checked against.

We kept the matching logic itself intentionally simple: species, rough location, and a time window narrow down the candidates, then we score similarity on the descriptive details. It's not fancy, but it's honest about what it can do in the time we had, and it works.

Challenges we ran into

The claim flow took a few tries to get right. Our first version showed the finder a flat "match" or "no match" from the AI, and it felt wrong almost immediately — it read like the app was making the ownership decision, which is exactly what we didn't want. We reworked it to show the specific points of agreement or disagreement instead, and left the actual decision to the human.

Accomplishments that we're proud of

We're proud that the claim system isn't just a feature we bolted on — it's the part of the app we thought hardest about, because it's the part that actually matters if this were used for real. It would have been easy to build a nice-looking feed and call it done. Instead we tried to solve the actual moment of anxiety in a lost-pet situation: a finder trying to decide if the person in front of them is telling the truth.

What we learned

Building this made it obvious how much of "AI-powered" work in a project like this is really just translation — turning something a person naturally says into something a database can compare. The hard part was never getting a model to read a description; it was deciding what the app should and shouldn't claim to know for certain, especially with something as high-stakes as reuniting someone with their pet.

What's next for Pawtrail

The biggest next step is microchip registry lookup — services like AAHA's universal microchip database already exist, and integrating that would give us a real, external verification signal instead of relying entirely on descriptive matching. We'd also like to add geographic radius search instead of rough location matching, notifications so people don't have to keep refreshing the feed, and a way for local shelters and vet clinics to post Found reports directly, since they're often the first stop for a found animal.

Built With

Share this project:

Updates

Submission history