Hi there đź‘‹

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

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

Week 13.5 | Kotlin Development AI Tools

AI Tools for Kotlin/Android Development: My Experience and Recommendations In my recent exploration of AI tools for Android and Kotlin multi-platform development, I’ve evaluated four primary options to determine which provides the most value for developers. Here’s my assessment: 1. Gemini in Android Studio I strongly advise against using the experimental Gemini integration currently available in Android Studio. My testing reveals significant limitations: it fails to understand context, cannot effectively locate relevant code, and provides only generic responses....

April 2, 2025 Â· 2 min Â· 334 words Â· Bill

Week 13 | Repository Pattern

Last Week I identified issues with the database design (and by extension my data layer logic). The work to redesign the database and code refactoring has begun. What does it mean in English? Imagine you’re building a house. Instead of throwing everything together in one big mess, you’d organize construction into layers: foundation, framing, electrical, plumbing, finishing, etc. Each layer has its own purpose, and specialists work on each part....

March 29, 2025 Â· 5 min Â· 990 words Â· Bill

Week 12 | Optimistic Updates

Last Week The entire UI is overhauled. Improved user experience on latency-sensitive operations by using optimistic updates. What does it mean in English? Optimistic updates is a user interface design pattern that makes applications feel faster and more responsive by immediately reflecting user actions in the interface before receiving confirmation from a server or backend system. In traditional (“pessimistic”) UI approaches, when a user performs an action like liking a post or deleting an email, the interface waits for confirmation from the server before showing any change....

March 22, 2025 Â· 3 min Â· 493 words Â· Bill

Week 11 | More AI

Last Week The landing page is beautified. However, I spent the majority of my time exploring a power AI assistant to rapidly increase my throughput. Tools used: Claude 3.7 Sonnet ($20/month) What does it mean in English? I asked an AI agent to write the app code for me instead of me doing it myself. Nerdy Details Asking an AI to make an app is not as straightforward as I thought....

March 15, 2025 Â· 3 min Â· 624 words Â· Bill

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