Inspiration
I built TailsPair because I've had five northern breed dogs, Siberian Huskies and Alaskan Malamutes. I've seen too many dogs get rehomed, dumped in shelters, or worse because someone saw a cute puppy and bought it without thinking about what that breed actually needs. That bothers me. A lot. So I built something that could help people think before they commit.
What it does
Every breed quiz on the internet tells you what you want to hear. You answer ten questions and it says congratulations, you should get a Golden Retriever. Nobody tells you the hard part. TailsPair does. It matches you with three dogs that actually fit your life, but it also gives you two mismatches. Dogs you should NOT get right now, and it explains why. That's the part nobody else does. The app also lets you upload your picture and GPT Image 2 generates an image of what your future life with that dog could look like. You get to feel the reality of the choice before you make the decision.
How I built it
I'm a musher, and this started with my own vision. I did the context engineering and worked through the product decisions. I used Codex with GPT 5.6 Sol to build it, starting with one big detailed prompt. From there, we worked together, making different iterations over multiple sessions. Codex wrote the code, but the architecture was mine. At runtime, the app scores your lifestyle answers against 34 dog profiles, and GPT 5.6 takes the top candidates and returns exactly three matches and two mismatches, complete with real explanations, friction points, and the hard questions you should ask about the individual dog.
What I learned
Building with Codex taught me the difference between prompting and context engineering. A single prompt gets you a prototype. Real product decisions, guardrails, evaluation criteria, and iterating across multiple sessions gets you something you would actually let people use. I also learned that the most responsible feature in the app is the mismatch. Telling someone what NOT to get is harder than telling them what they want to hear, but it is the part that actually protects the dog.
Challenges I faced
The biggest challenge was the GPT 5.6 response time. A full lifestyle match takes 45 to 90 seconds depending on load. Making that wait feel intentional instead of broken meant building progressive feedback that shows what the model is actually evaluating. The other challenge was resisting the temptation to fake it. It would have been easy to show a percentage score and call it a match. Building a system that says "this dog is not right for you" is harder and less satisfying, but it is the whole point.
What's next
Making this a real product. More testing, more breeds, and real connections to shelters, rescues, and responsible breeders. The goal is TailsPair matching you to actual dogs in need of homes near you, working with the AKC or local rescues to connect the right owners with real animals. Right now, the adoption listings are demonstrations to show the concept. The real version will pull live animals from verified shelter databases and match them to your profile.
Built With
- 2
- codex
- css
- framer
- gpt
- gpt-5.6
- image
- next.js
- react
- tailwind
- typescript
- vercel
- zod
Log in or sign up for Devpost to join the conversation.