Week 10 | Nothing

Last Week I contemplated philosophically while sipping on mojito. Next Week Get back into the development groove and further improve the landing page.

March 8, 2025 · 1 min · 23 words · Bill

Week 9 | Model View Intent (MVI)

Last Week The landing page after a user logs in is complete. A simple drawer is also implemented. Tools used: Model-View-Intent (MVI) design pattern What does it mean in English? A full-fledged app on a device (e.g., phone, laptop, etc) is a miracle cornucopia of complex software components: somebody needs to refresh the screen (60 times a second!), somebody needs to monitor user interaction (e.g., tap, drag, etc), somebody needs to talk to the internet and fetch information, somebody needs to save stuff to local storage, so on and so forth....

March 1, 2025 · 6 min · 1147 words · Bill

Week 8 | Aye Aye Ay Eye

Last Week Development derailed. I got sucked into this AI thing. Wound up setting up a local private AI stack. Below is an example of me asking AI to code for me and its response in real time on local hardware with anonymized internet search. Since it is shown in real time, it is a bit slower than what we might be used to from places like public ChatGPT....

February 22, 2025 · 5 min · 910 words · Bill

Week 7 | Supabase Postgres Database

Last Week Supabase Postgres Database is investigated. First table is in. Data classes set up for database. App can now read and write the database. What does it mean in English? An app needs to store information. It could store it on device. But in many cases it’s more helpful to store it in the cloud (which is just somebody else’s computer that is always connected to the internet) such that the functionality of the app is not dependent upon one device....

February 15, 2025 · 3 min · 554 words · Bill

Week 6 | Input Validation

Last Week Login page is beautified. Basic input validation is set up. When any error is detected, the login screen is reset and a snackbar message is displayed. What does it mean in English? George Carlin once uttered the wisest of words: “Imagine an average stupid person and then realize that half of the population is stupider than that.” Even if your users are all saints and none seeks to destroy your app with malice, you still need to carefully handle the fruits of their stupidity....

February 8, 2025 · 3 min · 480 words · Bill

Week 5 | Supabase Authentication Service

Last Week Supabase auth is implemented with One-Time Passcode (OTP). Tools used: Authentication Service: Supabase Auth (free to start) Dependency Injection Library: Koin Dependency Injection (free) What does it mean in English? An Authentication Service makes sure the user is who they say they are. In this particular implementation, when a user tries to login with their email address, an authentication server (i.e., a powerful computer) sends a random number to the user’s email address....

February 1, 2025 · 5 min · 969 words · Bill

Week 4 | Compose Multiplatform

Last Week All screen files for the initial version of the app are now in place. Screen navigation is set up. Tools used: Development Platform: Kotlin Multiplatform (free) User Interface (UI) Framework: Compose Multiplatform (free) Navigation Library: Compose Multiplatform Navigation (free) What does it mean in English? A Development Platform translates my code into languages the end devices understand. In other words, I write in (mostly) English, the platform translates it into ones and zeroes....

January 25, 2025 · 2 min · 360 words · Bill

Week 3 | Standing on Shoulders of Giants

Last Week Development environment is set up. Bog standard Android Studio on Linux. Gradle builder works as expected. Emulator launches sample app correctly. Tools used: Integrated Development Environment: Android Studio (free) Builder: Gradle Build Tool (free) Emulator: Android Emulator (free) What does it mean in English? An Integrated Development Environment (IDE) is little more than a fancy text editor in which human-readable code is written. Gradle Build Tool collects everything an app needs and assembles them into a neat package (aka....

January 18, 2025 · 2 min · 268 words · Bill

Week 2 | Static Site Generators

Last Week The blog website is now set up. You are staring at it right now. Tools used: Repository: Github (free) Static site generator: Hugo (free) Website theme: Paper Mod (free) Builder: Cloudflare Workers (free) Host: Cloudflare Pages (free) Domain Registrar: Cloudflare Registrar ($12/year) What does this mean in English? I write my blog entries in a file in a format called Markdown. I save the aforementioned file on Github....

January 11, 2025 · 1 min · 179 words · Bill

Week 1 | Genesis

I want to develop and publish an app. This blog, along with the video update series on Youtube, serves to document my journey. Every Friday I will talk about what I accomplished during the previous week and what I plan to do in the following week. It will come in the form of a blog post right here and a Youtube video. Last Week New Year stuff. Lots of good (read: bad) eating....

January 4, 2025 · 1 min · 100 words · Bill