Inspiration

I have a dog, and feeding him is part of my daily routine. I also have to keep track of how much food is left and order more before it runs out. I wanted an agent to handle that tracking and replenishment so I wouldn't have to monitor the supply myself.

When I searched for existing solutions, I didn't find many that combined pet-food tracking with automatic reordering. I built Replenish to explore this idea, starting with a recurring task from my own life that other pet owners might also want help with.

What it does

Replenish is an AI agent for pet-food replenishment. It estimates the food remaining and predicts when it will run out using recorded stock and the feeding plan. Owners can change meal amounts in natural language, and Replenish updates the forecast.

When a replenishment order is due, Replenish checks the owner's payment setup, authorization, and spending limits. With a saved payment method ready and automatic payments enabled, orders within both the per-order limit and monthly budget can be paid automatically through PayPal Sandbox. Existing spending commitments count toward the monthly budget.

Orders above the limits require approval of that specific order in the web app. Approval does not replace the payment setup requirements.

The store, stock, and delivery are simulated. Payments use PayPal Sandbox; no real pet food is purchased or shipped.

How we built it

Replenish uses React and Vite for the frontend, Node.js and TypeScript for the backend, and SQLite to store application data.

DeepSeek interprets natural-language requests, such as changing the amount of food per meal. A local rule-based parser provides a fallback. The model handles intent parsing; deterministic application logic calculates food forecasts, checks budgets, and enforces payment permissions.

The payment integration uses PayPal Sandbox Vault v3 to save payment methods and Orders v2 to create and capture payments. The backend checks payment readiness, authorization, and spending limits before allowing an automatic payment.

Challenges we ran into

Designing the product interface and creating the YouTube demo video were challenging parts of the project. Producing AI-generated music also took repeated prompt revisions to get a result I liked.

I don't have a background in music, so I found it difficult to describe the sound I wanted precisely. The AI's output often differed from what I had in mind. Turning my musical preferences into instructions the AI could follow took more effort than I expected.

Accomplishments that we're proud of

I'm proud of completing Replenish as a working demo, with a YouTube video and an open-source repository to share the project.

I'm also using it in my daily life to keep track of my dog's food supply and receive reminders when it's time to reorder. Seeing it become part of my own routine has been especially rewarding.

I've shared the tool with pet-owning friends and received positive early feedback. That feedback is encouraging, although it is still informal and limited to people around me.

What we learned

I learned that working with AI requires more than asking it to make something. I need to explain the result I want clearly enough for the AI to act on it. An output can follow my words and still miss what I had in mind.

Generating music made this especially clear. Revising the prompts meant thinking more carefully about what I liked, what felt wrong, and what I wanted to change.

This gave me a better understanding of how to collaborate with AI on a project: define the task, review the result, and give specific feedback. AI can help produce the work, but I still need to set the direction and judge whether the result meets my needs.

What's next for Replenish

I want to add personal accounts so users can sign in and access their own feeding and replenishment plans. I also plan to build a web interface where they can upload their dog's photo, enter its name, and add dog-food information without editing code.

Beyond these changes, I want to move from Sandbox demonstrations toward real-world testing, including live payments and actual replenishment. This is a future goal; the current payment integration uses PayPal Sandbox.

Built With

Share this project:

Updates

Submission history