Over the holiday weeks I brought my first smart-phone app to life from a long thought out design. It still isn't 100% of the original scope, but during the process I found an app that already exists that makes me happy enough. The intent was to make an iPhone app that assisted with language learning that would hopefully do the important things better than the current apps that exist and cut the fat of what doesn't need to be there. What led to a phone app and not a web app? There are many camps of philosophy on how the web should or shouldn't be used in the current era and frankly I didn't want to play ball to get along with those, nor did I want to go for in my opinion 'the easy way out' when I could have a native app running where the user is - on their phone already probably. The big selling point of this was that I was making the app for myself and I also have an iPhone (along with an old Android), but I have an iPhone that I got to give it a try and it works just fine to make calls and maintain relationships. I don't tinker or customize phones - they to me are a gadget that is meant to serve a purpose and while the have the power of a small computer, they aren't meant to be a general purpose computer. What I found along the way is that Apple is really into having developers do things their way - which immediately is a bit gross and I tried to research ways to not but after I while I still gave it a shot and found that it's probably a better alternative. I would have gone the way of trying to write an app in ViM and compiling with clang, but this makes testing an absolute pain. While write a native-app you still have the operating system on the phone and so you still in user-space, it's closer to embedded device software development than I've been in a long time. XCode has a simulator which speeds up testing and development considerably, but it also communicates over a debugging channel with your phone while debugging an app that is running locally on your phone. This comes in handy for when the simulator doesn't match up one-for-one such as running the same file-system implementation. The simulator can make web calls over HTTPS (which Apple forces unless you want to write code to allow HTTP) but it doesn't have a the full, if any file-system for saving files to the app sandbox directory. I didn't crack open a book to learn iPhone dev either, I pretty much starting with generative AI and giving it initial designs and getting an understanding of the code it gave it response. I kept it very simple and stupid. No network calls to start out with, almost no error handling. I was saving all images and audio files within the app itself, but it worked to get a prototyped version out - along with helping me to read and write Swift and use SwiftUI. 2 days is all it took to take a design from paper to working on my phone. The next 2 weeks though - that was incorporating network calls to get all the media files out of the app itself and have those come from a web server. Error handling and other logic was added incase the file to download already exited - I didn't of course want to make a network call if I didn't have to. For this iOS provides slightly different mechanisms for getting data out of an audio file than from an image file so this was a more work than I expected - also considering that some generative AI have no idea what the latest developments in SwiftUI are. This relied on me having to just read SwiftUI documentation and make use of the needed functions. I was fine at this point though as all before if I didn't understand a piece of code I would ask for what it did. This cut down the learning process immensely. After 2 weeks - I have an application that will receive media from a web server and I can update a word list on the web server to keep the media fresh, but I've made the code source-available. I may keep adding to it over time, but I think I have plenty more ideas that I can take from design to reality now.