Breaking Down Two Sum
LeetCode #1 Two Sum โ there's more to it than just HashMap
Recent Posts
Fixing Gemini JSON Parsing, Token Limits, and Calendar Font Scale in Tagmind
Gemini kept showing raw JSON as the answer. The real cause was maxTokens=512 truncating the response mid-object. Also fixed large-font clipping in the Calendar heatmap and added token limit warnings to Settings and onboarding.
Gemini JSON Truncation, Font Scale Override in Compose, and Token Limits
Gemini was returning raw JSON as the answer because maxTokens=512 was cutting the response mid-object. Also learned how to lock font scale for a specific composable so data-viz labels don't break accessibility layouts.
Adding a Model Selector to Tagmind's Ask AI Screen
Each LLM provider has multiple models at different price and capability tiers. I added a dropdown in the search bar so users can switch models without leaving the screen.
Onboarding Tutorial, History Cap, and Play Store Prep in Tagmind
Added a 4-page onboarding tutorial with mini UI mockups, bounded the LLM history table with an insert-then-trim pattern, added Clear AI History to settings, replaced dev-themed seed data with food recipes, and polished several UX details.
Tappable Note References, Save as Note, and Encrypted Search History in Tagmind
Three features in one pass: LLM answers now link back to the notes they referenced, answers can be saved as notes with folder selection, and search history persists across sessions with Android Keystore encryption.
OkHttp Blocking Calls Crash on Android Main Thread
My LLM validation was silently failing with 'network error' โ not a network issue, not a wrong key. OkHttp's execute() is blocking, and I was calling it on the main thread.
Compose Box Z-Order, DB Trim Pattern, and Onboarding Layout Fixes
A fillMaxSize() column silently ate all touch events on a button beneath it โ because in Compose Box, the last declared child is on top. Also learned the insert-then-trim pattern for bounding a Room table.
Three Bugs Hidden in a Soft-Delete System
I thought soft-delete was working. Then I found three bugs in one testing session โ notes vanishing, folders appearing out of nowhere, and items that could never be restored.
API Key Validation UX in Android Settings
Added live validation feedback when users save an API key โ spinner while checking, green/red result after. The hard part was making it unit-testable with Hilt.
Testing Android MVVM Without Mocks
Wrote 38 JVM unit tests for an Android MVVM app. Skipped MockK entirely โ in-memory fakes turned out to be cleaner.