Craft

Main quests and fun experiments. Code, art, and community Happy

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!~ Starfish

Jun 15 – Jun 21Week 11 of 27
Sun, Jun 21
  • refactor(settings): move Customise Fields from habit sheet to Appearance settings [#66, part of DASHBOARD #35 and SETTINGS #51]lifelong-habit-app13:58
  • feat(habit-detail-sheet): user-configurable stat fields + full-sheet scroll fix [#66, part of #35]lifelong-habit-app13:22
  • fix(dashboard): close two config-history gaps missed in the first passlifelong-habit-app13:18
  • fix(dashboard): resolve historical config for unlogged past dates. Closes #60lifelong-habit-app11:28
Sat, Jun 20

No commits.

Fri, Jun 19

No commits.

Thu, Jun 18

No commits.

Wed, Jun 17
  • fix(dashboard): resolve LadderCard and SnowballCard config from snapshot for past dates [#60, part of #35]lifelong-habit-app08:36
  • fix(progress): truly center date label, anchor refresh button to its edgelifelong-habit-app08:01
Tue, Jun 16
  • refactor(progress): wrap OverviewSummaryBar in a cardlifelong-habit-app14:39
  • refactor(progress): wrap CategoryRadarChart in a cardlifelong-habit-app14:19
  • refactor(progress): wrap CategoryBreakdown consistency/intensity sections in card surfaceslifelong-habit-app13:43
  • refactor(progress): reduce horizontal padding in habit rows and progress tab [Closes #47]lifelong-habit-app13:31
  • feat(progress): add HabitIconBadge with gradient, use in Daily/WeeklyHabitRow [Closes #46]lifelong-habit-app13:03
  • refactor(progress): change habit icon container from square to full circle [#46 part of #42]lifelong-habit-app12:53
  • feat(dashboard): add daily summary banner with warm today-scoped copy [#58, part of #35]lifelong-habit-app10:02
  • refactor(HabitSheetActions): update pause duration messagelifelong-habit-app09:53
  • refactor(CategoryBreakdown): replace checkCircle icon with checkCircleBoldlifelong-habit-app09:53
  • fix(habit-detail-sheet): raise maxHeight 88% -> 95% to fit action grid without scroll-to-reveallifelong-habit-app09:41
  • fix(habit-detail-sheet): show content on first open, not secondlifelong-habit-app09:33
  • fix(tabs): widen HapticTab onPressIn to accept null, cast tabBarIcon color to stringlifelong-habit-app09:31
  • fix(habit-pause): self-healing stale log cleanup, guard all UPDATEs, fix transparent toast [#65]lifelong-habit-app08:55
  • fix(habit-pause): guard all status UPDATEs with .select(), fix ghost-resume, fix transparent toast [#65]lifelong-habit-app08:50
Mon, Jun 15
  • fix(habit-pause): only evaluate latest pause log per habit, fix transparent info toast [#65, part of #64]lifelong-habit-app09:49
  • fix(toast): remove fade-in animation, show toast at full opacity immediately [#65, part of #64]lifelong-habit-app07:14
  • fix(habit-pause): fix ghost resume toasts, bottom-position toast, show days remaining [#65, part of #64]lifelong-habit-app06:29
  • fix(useToast): remove auto-dismiss, require explicit user dismissal via X button [#65, part of #64]lifelong-habit-app05:18
  • fix(habit-pause): surface auto-resume feedback and fix silent re-resume loop [#65, part of #64]lifelong-habit-app05:12
  • fix(db): fix operator mismatch in backfill_habit_snapshots by casting changed_at to DATE [#60, part of #35]lifelong-habit-app04:20
  • refactor(appearance): split theme and card style into separate section cards [#53, part of #51]lifelong-habit-app02:39
  • feat(appearance): add habit card style preference (Raised / Flat / Gallery) [#53, part of #51]lifelong-habit-app02:33
  • fix(progress/CategoryBreakdown): cap width on tablets (#44, part of #42)lifelong-habit-app01:59