Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for LeanPawgress
Inspiration
- Logging pet weight/food is clunky; answering “can my pet eat ___?” is harder than it should be. We wanted a fun, safe, super-simple tool.
What it does
- Create owners/pets, log weights & meals, set goals.
- Add foods by grams with auto kcal.
- Toxicity check (dog/cat) before logging.
- Add your own brands (saved locally) and use them from the dropdown.
- Status cards show today’s calories, goals, and latest weight.
How we built it
- Node + Express to serve a vanilla JS SPA.
- ES-module models:
Owner,Pet,WeightEntry,MealEntry. - Data:
food-catalog.json+poisons.json; user brands in localStorage (merged/overridden on load). - UI: HTML/CSS (grid, micro-animations), Font Awesome, Poppins.
Challenges
- Normalizing kcal/kg → cal/g and avoiding NaN.
- Merging base + user catalogs with stable IDs.
- Species-specific toxicity matching & clear prompts.
- Keeping HTML IDs and handlers in sync.
Accomplishments
- Friendly UX with real safety guardrails.
- Personal catalog with instant dropdown integration (★ marking).
- Clean separation of data vs UI; easy to extend.
Learnings
- Normalize inputs early; UI stays simple.
- Small confirmations/messages reduce friction.
- Vanilla JS can feel “app-like” with light structure.
What’s next
- Optional cloud sync & backups.
- Barcode/photo nutrition import.
- Charts & weekly insights.
- Reminders (weigh-ins, feeding).
- Accessibility, i18n, and more vetted food data.
Log in or sign up for Devpost to join the conversation.