Craft
Main quests and fun experiments. Code, art, and community 
My main project now is Lifelong Habit, a habit app for people who want to focus on long-term habit formation and detailed insights. Most of the things I’ve made and played around with circle back to self-development, with some funsies and whimsies here and there. Open to work and collaborations!~ 
Jun 8 – Jun 14Week 12 of 27
Sun, Jun 14
- fix(progress): correct HabitStyles and Habit field names in CategoryBreakdown (#44, part of #42)lifelong-habit-app15:34
- fix(progress): correct HabitStyles and Habit field names in CategoryBreakdown (#44, part of #42)lifelong-habit-app15:34
- feat(progress): expandable category breakdown sub-list (#44, part of #42)lifelong-habit-app15:33
- feat(progress): expandable category breakdown sub-list (#44, part of #42)lifelong-habit-app15:33
- fix(mutations): call backfill_habit_snapshots RPC after habit config edit (#60, part of #35)lifelong-habit-app15:01
- fix(db): add backfill_habit_snapshots RPC to restore NULL habit_config_snapshot rows (#60, part of #35)lifelong-habit-app14:59
Sat, Jun 13
- perf(HabitDetailSheet): lazy-mount content and defer stat queries behind InteractionManager (#57, part of #35)lifelong-habit-app13:00
- perf(HabitDetailSheet): lazy-mount sheet content to prevent query contention during open animation (#57, part of #35)lifelong-habit-app12:54
- fix(HabitSheetActions): use component_id field on BentoComponent, import type (#57, part of #35)lifelong-habit-app12:32
- fix(HabitDetailSheet): derive archetype-aware 100% payload in Complete button (#57, part of #35)lifelong-habit-app12:31
- fix(progress): invalidate logs on tab focus and add manual refresh button (#43, part of #42)lifelong-habit-app10:17
- refactor(habit-form): seed bento from snowball/ladder on archetype switch (#54, #35)lifelong-habit-app09:48
- refactor(habit-form): seed bento from snowball/ladder on archetype switch (#54, #35)lifelong-habit-app09:48
- feat(habit-form): stash and restore archetype configs on switch (#54, #35)lifelong-habit-app09:27
- feat(habit-form): stash and restore archetype configs on switch (#54, #35)lifelong-habit-app09:27
Fri, Jun 12
- refactor(habit-time-log): use ScreenHeader rightAction for add session button (#39)lifelong-habit-app15:06
- refactor(screen-header): add optional rightAction slot for aligned header actionslifelong-habit-app15:06
- refactor(iconRegistry): replace AddCircle icon with bold variant in UI_ICONSlifelong-habit-app14:44
- refactor(habit-form): active category chip uses its own accentColor, not habit color (#37)lifelong-habit-app13:28
- fix(habit-form): use HABIT_CATEGORY_META with isDark-resolved accentColor for category chips (#37)lifelong-habit-app13:27
- feat(habit-time-log): replace AddSessionSheet modal with dedicated add-session screen (#39)lifelong-habit-app07:46
- refactor(deep-dive): inherit draft color_hex on Create button instead of static theme accent (#37)lifelong-habit-app05:59
- refactor(color-icon-picker): use draftColor for confirm button instead of static theme accent (#37)lifelong-habit-app05:56
- refactor(habit-form): extend color_hex inheritance to ArchetypeSelector chips and info box (#37)lifelong-habit-app05:10
- refactor(habit-form): inherit habit color_hex across all form accent elements (#37)lifelong-habit-app01:55
Thu, Jun 11
- refactor(AllDayIconStrip): reduce icon and container sizes so it fits 5 icons in most screenslifelong-habit-app14:02
- refactor(AllDayIconStrip): increase icon and container sizeslifelong-habit-app13:53
- fix(AllDayIconStrip): prevent outer ring from compressing icon size on expand (#35)lifelong-habit-app13:46
- refactor(AllDayIconStrip): adjust margin for the strip and expanded cardlifelong-habit-app13:03
- fix(HabitSectionList): adjust margin for BackdatingModeBanner componentlifelong-habit-app13:00
- fix(upsertDailyLog): use maybeSingle to avoid intermittent PGRST116 on upsert (#33)lifelong-habit-app12:25
- fix(mutations): invalidate all_habit_logs_by_date in useBackdateHabit and useUnlogHabit (#33)lifelong-habit-app12:24
Wed, Jun 10
- refactor(progress): adjust CHART_SIZE and legend dimensionslifelong-habit-app15:20
- refactor(progress): increase stroke width and opacity for CategoryRadarChart grid lineslifelong-habit-app14:46
- fix(progress): recalculate CategoryRadarChart canvas size for ICON_SIZE=25lifelong-habit-app14:23
- refactor(icons): update category iconslifelong-habit-app14:22
- fix(progress): weekly category consistency now counts habit-day slots, not per-habit booleanslifelong-habit-app12:52
- feat(progress): add intensity breakdown section below consistency in category rowslifelong-habit-app10:55
Tue, Jun 9
No commits.
Mon, Jun 8
No commits.