DEV Community

Yogeswar
Yogeswar

Posted on

PawPrint β€” The Clue Might Already Be Out There 🐾

DEV Weekend Challenge: Dog Days Edition Submission πŸ•

The Clue Might Already Be Out There 🐾

This is a submission for Weekend Challenge: Dog Days Edition.

When a dog goes missing, you don't just lose a pet.

You lose a companion who has been part of your life. And in that moment, the first thought is simple:

"How do I find them and bring them home?"

We imagined a community where the people looking out for our pets could also become part of that search. Someone might have seen your dog. Someone might have taken a photograph. Someone might have shared a sighting without knowing who was looking for them.

PawPrint brings those possibilities together.

It gives a pet owner a way to search through community sightings, use AI to help prioritize the clues that look most relevant, and review them one by one β€” without taking the final decision away from the person who knows their dog best.

A community that cares can help bring them home.


What I Built

PawPrint is a community-powered lost-dog search experience built around a simple belief:

When a dog is missing, the community can become part of the journey to bring them home.

PawPrint helps an owner search through possible community sightings, use AI to prioritize relevant visual clues, and review the results in a focused experience.

The community provides the sightings.
PawPrint helps search them.
The owner makes the final decision.

A quick note before you scroll further: every ranking you see below is a live Gemini API call comparing the uploaded dog photo against the sighting pool in real time β€” nothing is scripted or pre-computed. The only thing that's fixed for this demo is the pool of candidate sighting photos Gemini searches against (more on why in "About the Demo"). The comparison itself is real inference, every time.

The journey

Human verification β†’ Dog profile β†’ AI-assisted visual clues β†’ Community search β†’ Possible sightings β†’ Owner decision

The important part is the final decision:

PawPrint does not tell an owner, "We found your dog."

It shows possible sightings.

The owner decides.

🐾 A human check

The experience starts with PawPrint's dog-themed Sniff Test β€” a playful human verification that introduces the personality of the product before the search begins.

πŸŽ™οΈ A human introduction

After verification, an ElevenLabs voice guides the owner into the search:

"I'm really sorry you lost them...

Let's see what your community has seen.

We'll start with a few details about your dog."

The goal was to make the transition feel human instead of like another cold software form.

πŸ“Έ Build the search profile

The owner provides:

  • Name
  • Breed
  • Identifying characteristics
  • Last known location
  • Last known time
  • Photo

πŸ€– Gemini-assisted search

Google Gemini plays two roles in PawPrint.

First, it can analyze the uploaded dog photograph and turn visible characteristics into a richer search profile.

Second β€” and more importantly β€” Gemini helps search the community sighting pool.

PawPrint uses the missing dog's image as the reference and compares it against candidate community photographs. Gemini then ranks the possible sightings by visible similarity so the owner sees the most relevant clues first.

It considers characteristics such as:

  • Overall appearance
  • Coat color and pattern
  • Approximate size/build
  • Ear shape
  • Facial structure
  • Visible markings
  • Distinctive accessories

The system does not tell the owner that an image is definitively their dog.

Instead:

Community sightings β†’ Gemini ranking β†’ Possible Sightings β†’ Owner decision

That distinction is important to us.

The AI helps reduce the search burden. The owner makes the final call.

πŸ”Ž Search the community

This is where PawPrint's AI-assisted search becomes part of the core experience.

Instead of asking the owner to manually go through a large collection of community posts, PawPrint uses the uploaded dog as the reference point and searches the available community sighting pool.

Gemini helps compare the lost dog's visible characteristics against candidate community photographs and segregates/ranks the sightings in order of visual relevance.

The idea is simple:

Many community posts β†’ AI-assisted visual ranking β†’ the most relevant clues first

While the cinematic search animation is running, the Gemini ranking happens in the background. The owner does not have to wait on a separate AI screen or understand what is happening behind the scenes.

The search then leads directly into the same Possible Sightings experience.

πŸ‘€ Review possible sightings

The owner is shown the top three possible sightings in an interactive vertical card deck.

They can:

  • Swipe through sightings
  • Mark a sighting as NOT MINE
  • Inspect each possible clue
  • Confirm a sighting if it looks like their dog

We deliberately call these Possible Sightings, not guaranteed matches.

❀️ The owner decides

If a sighting looks like their dog, the owner can confirm it and continue to the contact flow.

If none of the possible sightings feel right, they can continue into a lost-dog post flow and prepare a post for the community.

The final decision always belongs to the owner.


Demo

πŸŽ₯ Watch PawPrint in action

🌐 Try the live experience

Launch PawPrint

The demo takes you through the complete experience, including the human verification, voice briefing, Gemini-assisted dog description, community search, AI-assisted community sighting ranking, possible sightings, swipe interactions, and owner decision flow.


Code

πŸ’» GitHub

GitHub logo yogeswar142 / PawPrint

AI-powered lost dog search platform that analyzes community sightings to help owners find their missing pets.

🐾 PawPrint

The clue might already be out there.

PawPrint Overview Banner

Watch Demo Video

PawPrint is a community-powered lost-dog search experience that helps owners surface possible sightings of their missing dog and decide which clue is worth following.


The Problem

When a dog goes missing, every minute counts. Owners often rely on community groups, social media posts, neighborhood messaging apps, and word of mouth.

Somewhere in that flurry of information, someone may have spotted an unfamiliar dog, taken a quick photograph, and shared it online. The key clue to bringing a lost dog home may already exist β€” but the owner is left to manually search through hundreds of unrelated posts while experiencing intense stress and panic.

The clue might already be out there.

PawPrint is built around this exact insight. Rather than requiring owners to scroll through chaotic social feeds, PawPrint organizes community-reported sightings into a focused search network that surfaces the most relevant…

The repository contains the React application, visual system, search experience, prepared demo sighting data, Gemini integration, and supporting assets.


How I Built It

PawPrint is built as a focused frontend experience rather than a traditional dashboard.

πŸ› οΈ Technology stack

Technology Purpose
React Frontend application and UI
TypeScript Type-safe application code
Vite Development and production build tooling
CSS / CSS Modules Styling and visual system
Motion UI transitions and interactive motion
Google Gemini API Optional visual analysis of the uploaded dog photo
Vercel Serverless Functions Server-side Gemini API integration
ElevenLabs Voice narration / onboarding
Vercel Deployment and hosting
Vercel Analytics Basic application analytics

πŸ€– Google Gemini β€” from dog description to community search

Gemini is not just an isolated image-description feature in PawPrint.

It participates in the actual search experience.

There are two stages:

1. Understand the missing dog

Dog photo
   ↓
Vercel Serverless Function
   ↓
Google Gemini
   ↓
Visible characteristics
   ↓
Search profile
Enter fullscreen mode Exit fullscreen mode

2. Prioritize community evidence

Missing dog image
        ↓
Community sighting pool
        ↓
Candidate photographs
        ↓
Google Gemini visual comparison
        ↓
Ranked sightings
        ↓
Top 3 Possible Sightings
Enter fullscreen mode Exit fullscreen mode

The ranking request is performed through a Vercel serverless function so the Gemini API key remains server-side.

The model is asked to rank candidate sightings by visible visual similarity rather than make a definitive identity claim.

This makes Gemini part of the product's central purpose:

Instead of making the owner search every community post themselves, PawPrint helps bring the most relevant sightings to the front.

The owner still reviews the photographs and makes the final decision.

πŸŽ™οΈ ElevenLabs

ElevenLabs powers the spoken onboarding immediately after the human verification step.

We chose voice because losing a dog is an emotional experience, and we wanted the first transition into the search to feel more human.

Its role is intentionally focused:

Human verification
       ↓
Voice briefing
       ↓
Dog search preparation
Enter fullscreen mode Exit fullscreen mode

🎨 Designing the search experience

Instead of presenting a loading spinner, the community search is treated as part of the product story.

The search experience uses:

  • Abstract blurred evidence blocks
  • Continuous motion
  • Staged search states
  • Ambient audio
  • A short transition into Possible Sightings

The actual sighting images are intentionally kept hidden during the search animation and revealed only when the owner reaches the review stage.


Why We Designed It This Way

Possible sightings, not guaranteed matches

A lost-dog search is too important for software to confidently declare a match from limited evidence.

PawPrint uses AI to prioritize possible community sightings, but it never turns that ranking into a claim of certainty.

The owner sees the evidence and makes the final call.

AI reduces the search burden

A community can contain many posts and sightings.

The owner should not have to manually inspect every one.

Gemini helps segregate the available community evidence and rank candidate sightings by visual relevance, bringing the strongest clues forward while keeping the human in control.

A focused review experience

Instead of making the owner scroll through a large feed, Possible Sightings are presented as a small interactive card deck.

The owner can quickly reject a sighting and move to the next one.

Voice instead of a cold transition

The moment after someone says they have lost their dog is different from normal onboarding.

The ElevenLabs voice acknowledges that moment before asking the owner for more information.

Cinematic search instead of a loading screen

The search animation makes the product's central idea visible: PawPrint is working through a pool of community sightings.

It also keeps the actual candidate images hidden until the review stage, creating a clear transition from search to evidence review.


About the Demo

The current submission uses a prepared community-sighting dataset as the candidate pool Gemini searches against, so the complete experience can be demonstrated reliably within the challenge window.

To be clear about what that means: the Gemini comparison itself is not prepared or scripted. Every time you run the demo, PawPrint sends your uploaded photo and the candidate pool to Gemini and gets back a live ranking. What's fixed is only the pool of candidate images β€” not the reasoning, not the ranking, and not the response.

The prepared pool lets the owner experience:

Search
  ↓
Possible Sightings
  ↓
Owner Review
  ↓
Match / No Match
  ↓
Contact / Lost-Dog Post
Enter fullscreen mode Exit fullscreen mode

We do not present the prepared dataset as a production-scale community platform.

A production version could connect PawPrint to a persistent community reporting system where people submit sightings containing photographs, descriptions, locations, and times.

That would provide the foundation for a larger search and ranking system using real community reports.

We chose to make the current candidate pool deterministic so the core product experience could be shown clearly rather than relying on an unpredictable live dataset during judging β€” the AI reasoning on top of it stays fully live.


What I'd Build Next

With more time, PawPrint could evolve into a real community reporting platform with:

  • Real community sighting submissions
  • Persistent sighting storage
  • Image similarity and ranking
  • Geographic radius filtering
  • Notifications for new possible sightings
  • Community moderation and report verification
  • Privacy controls for sensitive location information
  • Richer communication between owners and sighting reporters

The current project focuses on demonstrating the core experience and interaction model first.


Prize Categories

We are submitting PawPrint for:

πŸ† Best Use of Google AI

Google Gemini is integrated into the core PawPrint search experience in two ways:

  1. It analyzes the owner's uploaded dog photo and extracts useful visible characteristics.
  2. It compares the lost dog's image against candidate community sightings and ranks the available evidence by visual relevance.

The second role is central to PawPrint's purpose.

Instead of leaving the owner with a large collection of community posts to inspect manually, Gemini helps segregate and prioritize the sightings so the most relevant clues are presented first.

We deliberately keep the final decision with the owner.

The AI ranks. The owner decides.

πŸ† Best Use of ElevenLabs

ElevenLabs powers the spoken onboarding experience immediately after PawPrint's human verification.

The voice was intentionally used to make a stressful moment feel more human and to guide the owner into the search experience.

We chose both technologies because they support the product's core experience rather than adding technology simply for the sake of the challenge.


Built for DEV Weekend Challenge β€” Dog Days Edition 🐾

We built PawPrint around a simple interpretation of the Dog Days prompt:

Dogs disappear. Communities notice. Sometimes the clue you need is already out there.

The project explores how AI-assisted visual analysis can help an owner make sense of a large pool of community clues, prioritize the sightings that appear most relevant, and reduce the burden of searching β€” without replacing the human decision at the center of the search.

The community sees.

PawPrint searches.

You decide.


Links

🌐 Live Demo: thepawprint.vercel.app

πŸŽ₯ Demo Video: Watch PawPrint on YouTube

πŸ’» Source Code: github.com/yogeswar142/PawPrint


A hundred sightings. One might bring them home.

🐾

Top comments (0)