web dev & more!

helth.app 0.2.0 🥳

If you’re unfamiliar with what helth.app is, it’s a Progressive Web App (PWA) built to help track intake of various nutrients. Since it is a PWA, it can be installed on nearly any mobile or desktop device.

🍗 Nutrients

With this update, the core application has undergone many changes. Most noticeably, users can now track more than just protein, calories, sodium, and water. In fact, there is a large list of trackable nutrients which should greatly simplify adding new nutrients! If helth.app is missing a nutrient you want to see tracked, reach out to me here, on Mastodon, or file an issue on the GitHub repo.

⚙️ Settings

With so many possible nutrients to track, one is likely to become quickly overwhelmed. This update brings about changes that allow users to “hide nutrients.” This can be done from the nutrient’s Counter options menu (the ’…’ next to each counter) or in the app settings page. Any hidden nutrient can always be re-enabled in the settings as well.

🥅 Goals & Limits

Previously, goals could only be set on specific nutrients. Each nutrient can now have a goal and limit with both shown just above each counter. These goals and limits can be adjusted on the settings page.

💾 Data

With this update, there have been some major changes with how IndexedDB handles data so be sure to backup your data! In the future, there will be a cloud sync solution which will make this less necessary but it’s always a good idea to have local backups of your data anyways.

🧪 Tests

Not that this is entirely relevant to the changes in helth.app but many tests that were previously “flaky” or “brittle” have been improved. This has everything to do with how I implemented custom mocks for the Svelte stores. While it may seem trivial, Test-Driven Development (TDD) is a big part of my workflow. Not only does it help me stay focused on the task at hand but it also ensures that my code is behaving in a predictable manner. This is especially useful in cases like this refactor which were so significant and affected code across the entire application. In essence, some of the changes made to the tests will ensure that the application remains stable in future updates.