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

May 25 – May 31Week 14 of 27
Sun, May 31
  • fix(grove): seed grove_config on edit, fix Tracked Time guard, remove non-functional journal shortcut. Closes #14lifelong-habit-app23:56
  • fix(habit-form): update import path for ArchetypeSelector componentlifelong-habit-app23:33
  • refactor: move onboarding components to root folderlifelong-habit-app23:32
  • fix(grove): hide Done CTA instead of showing it pale when not yet actionablelifelong-habit-app14:10
  • fix(dashboard): show Done CTA for Grove when IN_PROGRESSlifelong-habit-app14:05
  • fix(grove): delegate Done button to HabitActionButton instead of bespoke Pressablelifelong-habit-app14:05
  • refactor(grove): replace custom Done button with HabitActionButton via hideCTAlifelong-habit-app13:30
  • feat(dashboard): suppress progress bar and percent for Grove completed statelifelong-habit-app12:57
  • feat: add grove archetypelifelong-habit-app09:14
Sat, May 30

No commits.

Fri, May 29

No commits.

Thu, May 28

No commits.

Wed, May 27
  • refactor(ui): add new icons to replace StarBullet iconslifelong-habit-app14:17
  • feat(SheetTileButton): add compact variant for inline icon+label flex-1 tileslifelong-habit-app13:04
  • refactor(ui): add new icons to replace StarBullet iconslifelong-habit-app13:03
  • fix(CategoryBreakdown, CategoryRadarChart): adjust margins and sizinglifelong-habit-app10:10
  • fix(CategoryRadarChart): reduce wrapperWidth for text positionlifelong-habit-app09:55
  • feat(progress): create habit_status_logs table and scope all queries to user_idlifelong-habit-app09:50
  • fix(progress): scope habit_status_logs queries to current userlifelong-habit-app09:21
  • feat: add configurable habit pause feature with auto-resume on expirationlifelong-habit-app08:38
  • fix(hooks): update habit queries to include legacy archived filtering and improve error handlinglifelong-habit-app08:19
  • refactor(HabitSheetActions): add archive functionality with confirmation alertlifelong-habit-app08:19
  • feat(progress): integrate inactive periods into habit trackinglifelong-habit-app08:13
  • fix(CategoryBreakdown): change pctLabel width to minWidth for better responsivenesslifelong-habit-app03:50
Tue, May 26
  • fix(CategoryRadarChart): replace VERTICAL_OVERFLOW with geometry-derived bleed constantslifelong-habit-app06:19
Mon, May 25
  • fix(CategoryRadarChart): clamp zero scores to MIN_SCORE to prevent spike polygonlifelong-habit-app08:12
  • fix(HabitSheetStats): show life area category from habitCategory, not archetype aliaslifelong-habit-app08:08
  • fix(progress): widen radar label wrappers to stop truncating "Relationships"lifelong-habit-app05:30
  • fix(progress): lower radar show threshold to >= 1 categorized categorylifelong-habit-app05:17
  • feat(progress): octagon radar chart for category consistency + intensitylifelong-habit-app04:55