First full week of September in the books — steady progress, no shortcuts, same product we started with just sharper. #StartupLife #BuildInPublic #IndieDev
watermelonKode 🍉
@watermelonkode.bsky.social
Building innovative & inspiring mobile apps 📱 Featuring articles & repositories on Kotlin Compose Multiplatform, design, architecture, code quality and more 🚀 http://www.watermelonKode.com
This week's Medium read: a piece on structuring KMP feature modules so teams can work in parallel without stepping on each other. #KotlinMultiplatform #TechWriting #DevCommunity https://blog.watermelonkode.com
The KMP teams we admire most aren't the ones with the most shared code — they're the ones who know exactly which 20% shouldn't be shared. #KotlinMultiplatform #KMP #AndroidDev #MobileDev
We ask Claude to review our own release notes for jargon before they go out — easy to forget not every user knows what 'KMP' means. #AI #Claude #SoftwareEngineering #DevTools
Android tip: Compose's Stable and Immutable annotations aren't decoration — they directly affect whether the compiler can skip recomposition for your data classes. #AndroidDev #JetpackCompose #Kotlin #MobileDev
September starts with the same question we ask every month: what's the smallest thing we can ship that makes VocabKit meaningfully better? 🍉 #LanguageLearning #VocabKit #AppDev https://watermelonkode.com/vocabkit/
We audit our GitHub Actions minutes monthly — easy to let inefficient workflows quietly eat your CI budget without noticing. #GitHub #GitHubActions #DevOps #SoftwareEngineering
New month, same rule: every Compose Multiplatform feature ships to all three targets together, or it doesn't ship at all. #ComposeMultiplatform #CMP #KotlinMultiplatform #CrossPlatform
We validate every KMP release against the latest stable Xcode before tagging it — iOS toolchain changes break shared modules more often than people expect. #iOSDev #KotlinMultiplatform #KMP #Xcode
Kotlin's tailrec keyword turns recursive functions into loops under the hood — free stack-safety for algorithms that would otherwise blow up on large inputs. #Kotlin #AndroidDev #ProgrammingTips #Coding
We're heading into September with one goal: turn waitlist momentum into a product people actually open every day. Join if you haven't. 🍉 #LanguageLearning #VocabKit #Startup https://watermelonkode.com/vocabkit/
Monday question for our Discord: what's the one feature you'd want in a vocabulary app that no one's built yet? We're listening. #DevCommunity #KotlinMultiplatform #BuildInPublic https://discord.com/invite/ZtkY5X4ha3
New month, same discipline: ship something small daily, review what actually moved the needle weekly. #StartupLife #BuildInPublic #IndieDev
KMP's real test isn't the demo app — it's whether your team still wants to use it eighteen months in, after the novelty wears off. Ours does. #KotlinMultiplatform #KMP #AndroidDev #MobileDev
Monday habit: we ask Claude to summarize last week's user feedback threads into three themes before planning starts. Keeps us focused on patterns, not one-off complaints. #AI #Claude #SoftwareEngineering #DevTools
Sunday build note: we shipped smarter spaced-repetition timing this week based on early tester feedback. VocabKit waitlist is open. 🍉 #LanguageLearning #VocabKit #AppDevelopment https://watermelonkode.com/vocabkit/
Companion objects aren't just Kotlin's answer to static members — they can implement interfaces, which opens up patterns Java's statics never could. #Kotlin #AndroidDev #Coding #ProgrammingTips
Compose Multiplatform's animation APIs finally feel consistent across platforms — what animates smoothly on Android now animates smoothly on iOS too. #ComposeMultiplatform #CMP #KotlinMultiplatform #CrossPlatform
We require a linked issue on every PR now. Sounds bureaucratic until you're the one trying to figure out why a change was made six months later. #GitHub #GitHubActions #DevOps #SoftwareEngineering
Android tip: use Modifier.testTag liberally in Compose — it costs nothing at runtime and saves hours when you're writing UI tests later. #AndroidDev #JetpackCompose #Kotlin #MobileDev
We'd rather ship VocabKit a month later with a feature that actually works than on time with one that half-works. Waitlist is still open. 🍉 #LanguageLearning #VocabKit #Startup https://watermelonkode.com/vocabkit/
This week's biggest unlock came from a five-minute conversation, not a planning doc. Worth remembering before we schedule the next big meeting. #StartupLife #BuildInPublic #IndieDev
New on our Medium publication: a contributor's honest account of migrating a 40k-line Android app to KMP over six months. Real numbers, real setbacks. #KotlinMultiplatform #TechWriting #DevCommunity https://blog.watermelonkode.com
KMP's iOS framework distribution via XCFrameworks has made dependency management noticeably less painful for teams mixing Swift and Kotlin. #iOSDev #KotlinMultiplatform #KMP #Xcode
Most KMP horror stories trace back to one thing: teams sharing code before they'd agreed on shared conventions. Align first, share second. #KotlinMultiplatform #KMP #MobileDev #SoftwareEngineering
We require status checks to pass before merge, even for one-line fixes. The one time you skip it is the time it breaks prod. #GitHub #GitHubActions #DevOps #SoftwareEngineering
The words that stick aren't the ones you see most — they're the ones that show up right when you need them. That's the whole design principle behind VocabKit. 🍉 #LanguageLearning #VocabKit #AppDev https://watermelonkode.com/vocabkit/
We use Claude to draft the counterargument to our own product decisions before we ship them. Cheap way to catch blind spots. #AI #Claude #SoftwareEngineering #DevTools
We build our design system once in Compose Multiplatform and every platform inherits it automatically. No more 'the iOS version looks slightly off' bug reports. #ComposeMultiplatform #CMP #KotlinMultiplatform #CrossPlatform
Kotlin's typealias doesn't create a new type — it's pure readability sugar. Useful for long generic signatures, useless for actual type safety. #Kotlin #AndroidDev #ProgrammingTips #Coding