Inspiration
Keepy grew from my own experience as an international student. I try to make good use of everything I buy, but busy routines make it easy to forget what is already at home until it has expired.
After moving overseas, I also started preparing meals in advance and often struggled to remember when something was cooked or how long it could be stored. I wanted to use this solo project to solve a small but recurring problem in my daily life.
What it does
Keepy is a mobile-first app for tracking household items with expiry dates, including food, cosmetics, medicines, skincare products, and other household supplies.
Users can add items manually or use Quick Scan to receive an editable AI-suggested name. Keepy then helps users:
- See what has expired or needs attention soon
- Search and filter current inventory
- Update quantities as items are used
- Record items as used or discarded
- Organise current items by category
- Review inventory and usage patterns through Insights
The goal is to turn household tracking into a lightweight daily habit rather than a demanding household audit.
How I built it
I first defined the product problem, user journeys, interface structure, and MVP scope. I then divided development into small, controlled milestones:
Define → Design → Specify → Implement → Test → Review → Refine → Deploy
Keepy was built with Flask, Jinja, JavaScript, SQLite, HTML, and CSS. SmolVLM runs directly in the browser through Transformers.js, with a Web Worker and WebGPU support. The working MVP is deployed on PythonAnywhere.
I worked with AI through clearly separated roles:
- I acted as the product owner and UX designer, defining the concept, designing the interface, setting requirements, testing results, and making final decisions.
- GPT-5.6 acted as a development strategist and technical advisor, helping refine the architecture, explain feasible approaches, clarify specifications, review issues, and prepare structured instructions for Codex.
- Codex acted as the software engineer, implementing the approved frontend, backend, database, and in-browser AI functionality.
After each milestone, I tested and reviewed the result before deciding what to keep, revise, or reject.
Challenges I ran into
The original Quick Scan concept aimed to recognise multiple products from one shopping image. However, the selected on-device model was not reliable enough for multi-item recognition, so I narrowed the current MVP to one clearly visible product and kept important details user-confirmed.
I was also unfamiliar with how quickly Codex credits could be consumed and had very limited credits remaining near the end of development. Fortunately, I had selected technologies I understood and established a clear, maintainable structure early in the project.
With support from GPT-5.6, I was still able to inspect the code, make smaller refinements, resolve issues, and complete the project on time. This experience confirmed the importance of establishing a maintainable architecture from the beginning.
Accomplishments that I am proud of
I am proud that Keepy developed from hand-drawn interface sketches into a deployed, working MVP rather than remaining a static prototype.
The final product connects:
- Manual and AI-assisted item entry
- Persistent inventory
- Expiry prioritisation
- Quantity updates
- Used and discarded outcomes
- Preserved history
- Categories
- Dynamic Insights
I am also proud that AI has an honest and useful role in the product: it reduces repetitive input without taking control away from the user.
What I learned
This project taught me that AI-assisted development still requires clear product ownership, structured requirements, testing, and careful review.
I learned how valuable a maintainable architecture becomes when time or tool access is limited. Building through small milestones also made it easier to connect the interface, backend, database, and AI functionality without destabilising completed work.
Most importantly, I gained confidence in turning my UI/UX decisions into a functional product by combining my existing web development knowledge with GPT-5.6 and Codex.
What's next for Keepy
The next step is to reduce item-entry effort through more reliable multi-item recognition, expiry-date OCR, barcode or receipt scanning, and native camera support.
Longer-term development could include:
- User accounts
- Shared household inventories
- Multi-device synchronisation
- Active reminder notifications
- More personalised insights
The broader vision is for Keepy to become a lightweight household memory system that helps people remember what they own, use items in time, and make better purchasing decisions.
Log in or sign up for Devpost to join the conversation.