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.
Share this project:

Updates