Hi there 👋

Welcome to my blog! It chronicles the development of an app.

Week 22 | Postgres Version Control

Last Week Week 22 was all about getting the backend under control. I spent a significant amount of time squashing bugs that I didn’t even realize existed in the app. It’s amazing how many issues surface when you start looking closely! But the most important accomplishment was finally implementing version control for my backend infrastructure, specifically the Supabase edge functions and the Postgres database with all its associated schemas, triggers, functions, and constraints....

May 31, 2025 · 4 min · 775 words · Bill

Week 21 | AI Knowledge Cutoff and MCP

Last Week Last week I successfully completed the Revenue Cat implementation that had been challenging me for the past three weeks. Now when users tap on the subscription tile in the navigation panel, the paywall displays correctly - a major milestone for the app’s monetization strategy. The bulk of my time was spent on significant tooling improvements, specifically around AI coding agents and development environments. I implemented a sophisticated setup using Model Context Protocol (MCP) with local vector databases to provide my AI coding assistant with up-to-date documentation, dramatically reducing compilation errors from nearly 100% to just 20-30%....

May 24, 2025 · 4 min · 740 words · Bill

Week 20 | RevenueCat and KMP Woes

Last Week Last week didn’t go as planned, primarily due to falling quite ill shortly after friends left. This significantly impacted my ability to work. The main technical goal for the week was to implement the connection between the UI (specifically, the ViewModel) and the backend SDK for RevenueCat. While RevenueCat had already been integrated into the data layer of the application, bringing its functionality up to the ViewModel level proved challenging....

May 17, 2025 · 7 min · 1470 words · Bill

Week 19 | Android Alpha Test Google Group

Last Week Well, last week didn’t go quite as planned. My main goal was to integrate RevenueCat’s functionalities into my app’s view models. This would allow the app to display paywalls and handle subscriptions. Unfortunately, that task got pushed back. I had friends visiting, and they’re actually still here as I’m writing this – seeing them off tomorrow! The good news is that the RevenueCat SDK is already in the project, and the data layer for it is complete....

May 10, 2025 · 6 min · 1217 words · Bill

Week 18 | RevenueCat

Last Week Last week, my focus was on laying the groundwork for monetizing the app using subscriptions. Specifically, I set up the data layer components for integrating RevenueCat. This means I’ve added the necessary code structure (like repositories) to interact with RevenueCat’s services, but haven’t yet built the user interface elements (like a paywall) or connected the actual purchase flows. RevenueCat is a service that simplifies handling in-app subscriptions across different platforms like iOS and Android....

May 3, 2025 · 8 min · 1599 words · Bill

Week 17 | Continuous Delivery

Last Week This past week, I focused on streamlining the process of getting my app from code to users by setting up the Continuous Delivery (CD) part of a CI/CD pipeline. While I haven’t implemented Continuous Integration (CI) yet – meaning automated tests to catch regressions – the CD pipeline is a huge step forward. Previously, releasing a new version was a tedious, multi-step manual process: write code, commit it, manually build the app bundle using Android Studio or command line, sign the bundle (a crucial security step for Google Play), log into the Google Play Console, navigate through various menus, upload the signed bundle, manually configure release settings, painstakingly compile release notes by reviewing commit history, and finally submit for review and later authorize the actual publication....

April 26, 2025 · 8 min · 1644 words · Bill

Week 16.5 | Claude vs Gemini in Cursor for Kotlin/Hugo

My Current Thoughts on AI Development Tools This week I’m sharing my experience with AI development tools, specifically focusing on models and their applications in Kotlin Multiplatform (KMP) and Hugo projects. It’s important to distinguish between models (the “brains” – like Claude, ChatGPT, and Gemini – requiring significant resources to train) and tools (the interfaces that allow interaction with the models). My preferred tool: I’ve found Cursor to be the best currently available....

April 23, 2025 · 2 min · 324 words · Bill

Week 16 | I Am Speeeed

Last Week Major Feature Enhancements & Additions: Host Dashboard: Significant UI/UX improvements, including dynamic titles, FAB for adding entries, drawer improvements (toggle, queue code display in NATO alphabet), optimistic updates for queue entries, enhanced dialogs (appearance, animation, edit/delete functionality for restaurants/queues), better network error handling. Landing Page: UI improvements, added OTP lockout mechanism. Queue Management: Added delete functionality for queues and queue entries. Implemented form dialogs (potentially as bottom sheets) for creating/editing queue entries....

April 19, 2025 · 4 min · 760 words · Bill

Week 15 | JAMStack

Last Week A simple web frontend is made using Hugo and JAMStack. It is connected to the Supabase backend. Also began investigation of monetization infrastructure in a KMP project, which will be next week’s focus. What does it mean in English? Think of JAMStack as a modern recipe for building websites. The name “JAM” is an acronym that stands for: JavaScript: The ingredient that makes websites interactive APIs: Like digital messengers that fetch information from other services Markup: The structure and content of your website...

April 12, 2025 · 4 min · 647 words · Bill

Week 14 | Postgres Might and Magic

Last Week Data layer for the app is refactored. Additionally, I added 1 Supabase Edge Function, 12 Supabase Postgres Functions, and 11 Supabase Postgres Triggers. What does it mean in English? Imagine you have a digital filing cabinet (that’s your database) where you store all kinds of important information for your business or project. Now, Supabase is like a friendly assistant that helps you manage this filing cabinet without needing to learn all the technical details....

April 5, 2025 · 4 min · 657 words · Bill