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....
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....
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....
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...
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....
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....
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....
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....
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....
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.