The hardest technical decision was not using a backend. I’m using the Android FileSystem API to store everything in a local encrypted JSON blob. It makes cross-device sync harder (I added a manual xml export to ensure you can save data for yourself and family), but it guarantees that if my server goes down (or I get hit by a bus), the app keeps working forever. I also stuck to Vanilla JS + Vite instead of React/Flutter to keep the file size less.
I'd love feedback on the PDF report generation—I'm drawing charts to a hidden Canvas and then injecting them into jsPDF. Thoughts?