Quick link to the App Store in case you don’t want to read.
Background
Many, many years ago (5? 6? Yeah, 5) I “invented” a points-based diet based on one I found in Racing Weight. For a year or two, when I followed it, I printed out a spreadsheet and tracked via paper. It worked, it was nice, but it wasn’t perfect; I’m not one to walk around with paper and a pen, so I was constantly transcribing from my phone when I got home.
In 2019, I attempted to write my first app, the digital version of this diet system! I spent, I don’t know, a few days worth of time putting it together. Custom this, custom that, and it looked great on my phone. What I didn’t know, is when you begin doing custom UI containing 100+ individual pieces, getting those to look right on any device other than the one it was intended for becomes a problem. Over the years I’ve taking swings here and there, but never moved forward in any meaningful way. I was able to use it myself, but without being on the App Store I had to reload it to my device manually every few weeks.
Old/broken/prettier on left, new on right
SwiftUI
Since I built the previous app so long ago, SwiftUI has been released. While the old method of building apps had a lot of WYSIWYG in it, this builds apps entirely in code. Sounds more difficult, right? Wrong. It was vastly easier. The code is highly readable and since I already knew Swift, easy to write.
ChatGPT
Yeah, I used it. Hugely beneficial. What I would have likely been able to hack together myself in a week or more of work took two nights of about three hours each.
There is tons of software development experience required to make it do exactly what you want, but having the syntax handled? Gold. I dabble in a few different languages and don’t memorize well; coding for me is constant syntax lookup.
One of the biggest shortcomings is its seeming lack of memory. It might spit you out a new piece of code to do something you just asked it, but in doing so it may completely forget some other function that was required. You need to double-check everything.
And then it isn’t very good at refactoring or naming conventions. A lot of manual work there.
For a simple app like this? Amazing tool.
We’re Live!
On the App Store. I’ve been wanting to ship this app for years. It has finally happened. It’s a simple app and I don’t expect anyone other than me to use it, but the box is checked, and the wheels are spinning as to how I might enhance it to make it more suitable for others.
Next
- As is, the app can reward you for overeating. Ate some dessert? Chase it with a vegetable and all is well. I’m thinking of coming up with some formula or allowing the user to target a points per serving or simply a target number of servings.
- The sliders feel a bit clunky. The interface could be simplified with some +/- buttons. This would be a drastic change so it isn’t happening soon.
- Do more with the data? Visualizations? Although the whole idea is focusing on a single day at a time. I was hesitant to even add data saving and date switching. Very much on the fence here. The previous version was a single set of data with a “Clear” button. It worked just fine.
- General design. It’s ugly. I kind of like it like that. The app comes in at less than 300kb. A modern app that could fit on a floppy disk? That’s cool to me.
- Saving to the cloud. Data is saved to the device. I don’t plan on using it beyond my phone, but it would be a nice feature and challenge for me.
- Mac support. This is as simple as reworking two tiny things. I was too excited to ship to bother with them so maybe later.
- Possibly reach out to the author of the book who inspired this, see if he has interest in some way. Perhaps pay him some royalties or get shut down?
- Get rich 🥁
Leave a Reply