Keep Them Home
Find the smallest change that could keep a pet with the family they love.
Live Demo
Application:
https://keep-them-home.vercel.app
Demo User
A demo account is available for judges and reviewers.
Username: demouser
Password: DemoUser@123456
The demo account contains synthetic data created specifically to demonstrate Keep Them Home.
Inspiration
Keep Them Home started with something I have seen firsthand: sometimes a family does not stop loving their dog—they simply reach a point where the circumstances around them become impossible.
I have spent a lot of time observing dogs struggling with separation anxiety and severe anxiety. A dog may bark continuously when their owner leaves, become intensely protective, or react fearfully when other people enter their space. Those behaviors affect the animal, but they can also put enormous pressure on the person trying to care for them.
The idea became especially personal after watching a friend face an extreme version of this problem. Her dog experienced severe anxiety and became intensely protective of her. The dog struggled with the presence of other people and eventually began biting. The situation escalated until my friend faced eviction.
What stayed with me was that this was not simply a "behavior problem."
It was a combination of behavior, housing, safety, money, time, and access to help.
When several of those constraints collide at once, a pet owner may feel like surrendering or rehoming their pet is the only option left.
That led me to a different question:
Before someone gives up their pet, can technology help them understand what would actually have to change for that pet to stay home?
That question became Keep Them Home.
What it does
Keep Them Home is a pre-surrender intervention and decision-support platform for pet owners facing difficult circumstances.
Instead of beginning with:
"How do I surrender my pet?"
Keep Them Home asks:
"What would actually have to change for this pet to stay home?"
A pet owner can describe what is happening in their own words. For example:
"My landlord is threatening eviction because Luna barks while I'm at work. I have a week and can't afford a trainer."
Keep Them Home interprets that story and converts it into structured constraints such as:
- Housing
- Behavior
- Cost / affordability
- Urgency
The system then evaluates different paths forward and classifies them as:
- Feasible — possible with the current circumstances
- Conditional — possible if certain conditions are addressed
- Blocked — currently prevented by one or more constraints
Smallest Unlock
The feature at the center of Keep Them Home is Smallest Unlock.
Instead of simply presenting an overwhelmed owner with a long list of resources, the system identifies why a promising path is blocked and determines the smallest realistic change that could make that path possible.
The core interaction is:
BLOCKED → Identify the blocker → Find the smallest change → Apply it → Recompute
For Luna, that might mean determining whether addressing a landlord requirement, beginning behavior support, obtaining temporary care, or reducing a financial constraint changes the feasibility of keeping her home.
The owner can explore those changes through a What-If experience and see their available paths recomputed.
Keep Them Home also supports:
- Pet profiles
- Multi-factor case intake
- AI-assisted story understanding
- Deterministic retention-path calculations
- Blocker detection
- Smallest Unlock analysis
- What-If exploration
- Evidence-backed recommendations
- Verified resources
- Action planning
- Progress tracking
- Saved cases
- Privacy-conscious similar situations
- Responsible rehoming when staying together is no longer safe or feasible
The goal is not to promise that every pet can stay home.
The goal is to make sure a family understands its realistic options before an irreversible decision is made.
How I built it
Keep Them Home was designed and built as a solo project.
I developed the product concept, user experience, frontend, backend, database architecture, AI integration, deterministic decision engine, and deployment.
One of the most important architectural decisions I made was that AI should not make the final decision about whether someone can keep their pet.
The system follows a simple principle:
AI understands. Code decides. Evidence supports.
I built the frontend using React, Vite, and TypeScript.
I use Neon Postgres for persistent application data, including pet profiles, cases, constraints, actions, and outcomes, with Drizzle ORM as the database layer.
Clerk provides authentication so pet owners can maintain profiles, save pets, and return to their cases over time.
For natural-language intake, I integrated Groq-powered AI to transform an owner's real-world story into structured facts.
For example, the model can understand that:
"My landlord gave me a week and I can't afford a trainer."
contains housing, affordability, behavior, and urgency constraints.
But the language model does not decide whether a retention path is feasible.
I built deterministic decision logic that takes the structured facts and:
- Generates possible retention paths
- Evaluates their requirements
- Classifies them as Feasible, Conditional, or Blocked
- Identifies blockers
- Calculates the smallest changes needed to unlock blocked paths
- Recomputes the available options when circumstances change
The overall architecture follows:
Story → Constraints → Paths → Blocker → Smallest Unlock → Recompute → Action
This means Keep Them Home is not simply an AI chatbot.
It is a decision-support system where AI helps understand a messy human situation, deterministic logic evaluates what is possible, and evidence and resources help turn those decisions into action.
Challenges I ran into
One of the biggest challenges was realizing how quickly this problem becomes multidimensional.
A surrender situation rarely fits neatly into one category.
A housing problem might actually be caused by a behavior problem. The owner may know that training could help but be unable to afford it. At the same time, they might have only seven days before an eviction deadline.
Treating those problems independently produces generic advice.
I needed to build a system capable of representing the relationships between those constraints.
Another major challenge was deciding where AI should stop.
It would have been much easier to send an owner's story to a language model and ask:
"What should this person do?"
But for a high-stakes decision involving an animal and a family, that felt too opaque.
Instead, I separated interpretation from decision-making.
AI extracts and explains. Deterministic code evaluates feasibility and blockers.
As a solo developer, production engineering was another major challenge. I had to move constantly between product design and engineering while building and debugging:
- Authentication
- Pet profiles
- Case persistence
- Database transactions
- API routing
- AI extraction
- Deterministic constraint logic
- Evidence and resources
- Responsive UI
- Production deployment
Those challenges also improved the product.
For example, I learned that AI failures need graceful fallbacks, API failures must not look like legitimate empty states, and saved cases need to survive refreshes and returning sessions.
Accomplishments that I'm proud of
I am most proud that Keep Them Home became more than a chatbot or resource directory.
I built a system that can represent several interacting constraints, calculate different paths forward, explain why a path is blocked, and identify what would actually need to change to make that path possible.
The feature I am most proud of is Smallest Unlock:
BLOCKED → Smallest Unlock → Apply → FEASIBLE
That creates a fundamentally different experience from telling an overwhelmed pet owner to browse a list of links and figure everything out themselves.
I am also proud of the technical trust model I developed:
AI understands. Code decides. Evidence supports.
Rather than giving AI control over high-stakes feasibility decisions, I intentionally limited it to the parts where it is strongest: understanding and explaining messy human language.
I am also proud that Keep Them Home treats surrender prevention realistically.
The platform does not shame people for considering surrender or rehoming, and it does not assume that every situation can be solved.
Sometimes responsible rehoming may still be the safest outcome.
The purpose of Keep Them Home is to make sure other realistic options have been understood first.
Finally, I am proud of the scope I was able to build as a solo developer—from the original idea and UX to the AI layer, deterministic solver, database, authentication, persistence, and deployed application.
What I learned
The biggest thing I learned is that animal-welfare problems are often also human constraint problems.
Helping an animal sometimes means helping their person solve a housing problem, access affordable behavior support, obtain veterinary care, find temporary care, manage their time, or simply understand which options are still available.
I also learned that adding more AI does not automatically make a product smarter.
Keep Them Home became stronger when I narrowed AI's responsibility.
AI is very good at understanding a statement like:
"My dog won't stop barking, my landlord is threatening me, and I can't afford training."
But once those facts are understood, the next question is computational:
Given these constraints, which paths are possible, which are blocked, and what would have to change?
That distinction became central to the project.
Most importantly, I learned that there is a meaningful difference between giving someone information and giving them decision clarity.
Someone in a crisis may already know that trainers, shelters, veterinarians, temporary-care programs, and housing resources exist.
The harder questions are:
Which one matters for my situation?
What is actually blocking me right now?
What is the smallest thing that could change my options?
Those are the questions Keep Them Home is trying to answer.
Building this project solo also forced me to move constantly between engineering and product thinking.
I had to ask not only:
"Can I build this?"
but:
"Would this actually help someone who may be days away from losing their pet?"
That question changed how I approached the entire project.
What's next for Keep Them Home
My next goal is to take Keep Them Home beyond a hackathon prototype and develop it into a more complete pre-surrender intervention platform.
Local resource intelligence
Once Keep Them Home identifies what would unlock a path, I want it to connect owners with relevant support nearby, including:
- Behavior and training assistance
- Veterinary assistance
- Temporary pet care
- Pet-friendly housing resources
- Financial assistance
- Community support programs
Longitudinal case tracking
Real circumstances change.
A landlord may respond.
A training appointment may become available.
Financial assistance may be approved.
A behavior intervention may work—or it may not.
I want Keep Them Home to capture those changes and automatically recompute the owner's available paths.
Learning from similar situations
Over time, privacy-safe historical cases could help answer another important question:
"What did people facing circumstances like mine try?"
This would not be used to predict whether an owner will succeed.
Instead, similar situations could provide additional context about approaches other people attempted while protecting their privacy.
Supporting the broader animal-welfare ecosystem
Longer term, I see Keep Them Home supporting not only pet owners, but also:
- Animal shelters
- Rescue organizations
- Veterinarians
- Animal behavior professionals
- Foster networks
- Community support organizations
These organizations often encounter families only when a crisis has already reached the point of surrender.
Keep Them Home could help move intervention earlier.
The vision
Keep Them Home began with a simple realization:
Sometimes the problem is not that someone wants to give up their pet. The problem is that several constraints have made them believe they have no other choice.
I want Keep Them Home to help find those choices.
Before a pet loses their home, make sure we have understood what it would actually take to keep them there.
Example Flows
Example 1: Housing + Behavior + Cost
Story
"My landlord is threatening eviction because Luna barks while I'm at work. I have a week and can't afford a trainer."
Keep Them Home identifies
Primary constraint: Housing
Contributing constraint: Behavior
Contributing constraint: Cost
Urgency: 7 days
Possible paths
Stay with Luna
Temporary-care bridge
Move with Luna
Suppose Stay with Luna is blocked because the housing complaint is unresolved and behavior support has not started.
Keep Them Home identifies the blockers and calculates what could unlock the path.
Current state:
BLOCKED
Potential unlock:
Confirm acceptable landlord terms
+
Begin behavior support
Recompute:
CONDITIONAL or FEASIBLE
The key idea is that the system does not simply recommend a trainer or housing resource. It explains what is blocking the path and what would have to change.
Example 2: Veterinary Cost + Temporary Crisis
Story
"My dog needs treatment, but I lost my job this month and I cannot afford the vet bill right now. I'm considering giving him up because I don't know what else to do."
Keep Them Home identifies
Primary constraint: Veterinary
Contributing constraint: Cost
Contributing constraint: Temporary Crisis
Possible paths
Keep pet + access lower-cost care
Temporary-care bridge
Responsible rehoming if retention remains infeasible
Suppose the first path is blocked because the immediate treatment cost cannot currently be met.
The system might identify a potential unlock such as:
Lower-cost treatment option
OR
Financial assistance sufficient to reduce the immediate barrier
If the user later records that financial support is available, the case can be recomputed.
Before:
BLOCKED
Fact update:
Financial support available
After recompute:
CONDITIONAL
If the remaining requirements are resolved, the path may become feasible.
The system does not guarantee that every case can be solved. It makes the constraints, blockers, and possible changes explicit.
Built With
- ai
- api
- clerk
- drizzle
- groq
- llm
- neon
- node.js
- orm
- pgvector
- postgresql
- react
- rest
- typescript
- vercel
- vite

Log in or sign up for Devpost to join the conversation.