A full-stack web app for cataloging and tracking personal outdoor gear — skiing, biking, and backpacking equipment — with condition tracking, cost and weight stats, and per-item custom fields. Built as a personal project to replace a spreadsheet for managing a 60+ item gear collection.
Designed a single GearItem entity covering identity (name, brand, model, category), financials (MSRP, price paid, purchase location), physical specs (weight, R-value, size, material), condition, and dates acquired/retired — backed by EF Core and SQLite with auto-migration on startup.
Items are tagged with one or more sports (ski, bike, backpack) and a freeform category, both filterable and combinable via query-string driven routes, alongside a text search across name, brand, and notes.
Sortable by name, brand, MSRP, price paid, weight, date acquired, condition, or category in either direction. A live stats bar aggregates total MSRP, amount paid, and total pack weight across the currently filtered set.
Weight can be entered in lbs/oz or grams via a toggle, with client-side JavaScript switching the input mode and server-side conversion normalizing everything to grams for storage and display.
Arbitrary key-value pairs (e.g. "Temperature Rating", "Tire Width") are captured through a dynamic form and serialized to JSON on the model, letting sport-specific specs be added without changing the schema.