🔧Dev Log
13 posts
Show
- Just3: Play Store Submission — Screenshots, Assets, and Release Build— Injecting demo data via ADB + SQLite for multilingual screenshots, generating Play Store assets with Python/PIL, fixing the foreground alarm dialog, and shipping the first closed-test AAB to Play Console.#android#kotlin#adb#playstore#just3#release5 min read
- Just3: Permission Flow Overhaul, Pretendard Font, and Calendar Sync Fix— Rewrote the entire permission flow to follow Google's standard pattern (first request → rationale → settings), bundled Pretendard Variable font for instant loading, and fixed duplicate calendar events with a delete-all-then-recreate strategy using a custom description marker.#android#kotlin#compose#calendarcontract#permissions#just310 min read
- Just3: Calendar Detail Sheet and Reminder Alarms— Added tap-to-view task detail in CalendarScreen and a full reminder system — CalendarContract.Reminders when a device calendar exists, AlarmManager as fallback when it doesn't.#android#kotlin#compose#room#alarmmanager#just35 min read
- Just3: Multi-Reminder System, Keyboard Fix, and Auto Calendar Sync— Multi-alert system (3 reminders + 3 alarms per task), ModalBottomSheet keyboard fix, and replacing Import/Export buttons with automatic CalendarContract sync — write once on save, update in place on edit, no manual push needed.#android#kotlin#compose#room#alarmmanager#calendarcontract#just37 min read
- Just3: Add to Calendar — Five Bugs, One Button— One button, five separate reasons it didn't work. ContentResolver on the main thread, a SharedFlow race, wrong navigation, stale permission state on Android 14, and a premature bail-out that blocked the save entirely.#android#kotlin#compose#just3#coroutines#permissions6 min read
- Just3: CalendarContract and Swipe-to-Delete— Two things that looked done but weren't — CalendarContract writes that silently did nothing, and a swipe-to-delete that swallowed taps. Fixed both and added tests.#android#kotlin#compose#just3#calendarcontract6 min read
- Just3: Replacing Dynamic Color with a Custom Theme— Material 3's dynamic color is convenient, but handing wallpaper control to the OS means you lose the identity of your app. I replaced it with a fixed Deep Blue palette.#android#kotlin#compose#material3#just34 min read
- 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.#android#kotlin#compose#llm#gemini#tagmind#ux3 min read
- 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.#android#kotlin#compose#llm#tagmind4 min read
- 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.#android#kotlin#compose#room#ux#tagmind4 min read