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

Jul 6 – Jul 12Week 8 of 27
Sun, Jul 12
  • chore: bump dependencies to sync with Expo 56.0.15lifelong-habit-app14:06
  • fix: scope Metro package-exports resolution to solar-icons onlylifelong-habit-app14:04
Sat, Jul 11
  • fix(progress): reorder OverviewSummaryBar rows instead of reserving icon gutterlifelong-habit-app20:47
Fri, Jul 10

No commits.

Thu, Jul 9
  • feat(progress): extend Consistency/Intensity row to Weekly and Quarterlylifelong-habit-app08:38
  • refactor(shared): extract InfoToggle, add explanation to OverviewSummaryBarlifelong-habit-app08:10
  • fix(progress): change dayMetrics to periodMetrics, dayMetrics is stalelifelong-habit-app08:04
  • refactor(shared): extract InfoToggle, add explanations to OverviewSummaryBarlifelong-habit-app07:58
  • fix(progress): include unlogged habits in average intensity denominatorlifelong-habit-app07:46
  • fix(habit-card-gallery): eliminate progress bar fill racelifelong-habit-app07:41
  • feat(progress): add whole-day consistency and intensity to Daily viewlifelong-habit-app05:49
  • fix(toast): make habit-colored toast background fully opaquelifelong-habit-app04:40
  • feat(toast): tint completion celebration toast with habit's colorlifelong-habit-app04:38
  • refactor(toast): improve sparkle animation and adjust SVG sizelifelong-habit-app04:24
  • feat(dashboard): replace per-habit sparkle with a celebration toastlifelong-habit-app03:38
  • chore: bump expo dependency to v56.0.15lifelong-habit-app03:26
  • feat(posthog): implement conditional loading (disabled for dev build)lifelong-habit-app03:08
Wed, Jul 8
  • feat: add read-only daily session timeline to Progress tablifelong-habit-app14:42
  • chore(config): add posthog-react-native/expo to dependencies configlifelong-habit-app14:22
  • feat(progress): add average logged value for Snowball and Grove habitslifelong-habit-app14:21
  • doc(auth): add comments about preventing overwriting user display name on repeat Google sign-inslifelong-habit-app14:13
  • fix(auth): stop Google sign-in name from being silently discardedlifelong-habit-app14:11
  • refactor(dashboard): split HabitSectionList into orchestrator plus 4 fileslifelong-habit-app11:18
  • fix(dashboard): hold completed habit in place until its sparkle finisheslifelong-habit-app10:56
  • feat(dashboard): add per-habit completion sparklelifelong-habit-app08:04
  • fix(time-picker): stop losing typed drafts to sibling interactionslifelong-habit-app07:32
  • fix(progress tab): add loading feedback for Yearly view entry and year-offset changeslifelong-habit-app07:28
  • feat(analytics): add PostHog to the applifelong-habit-app07:25
Tue, Jul 7
  • fix(time-picker): stop unmounting TextInput mid-keystroke on direct editlifelong-habit-app12:33
  • feat(dashboard): animate habit cards moving between sectionslifelong-habit-app12:19
  • chore: added expo-application, expo-file-system, expo-localization, and posthog-react-nativelifelong-habit-app12:12
  • feat(dashboard): animate habit cards moving between sectionslifelong-habit-app10:31
  • fix(dashboard): stop status line from freezing on one line on heavy-use dayslifelong-habit-app10:28
  • fix(ladder-card): allow tapping active rung to undo the loglifelong-habit-app10:02
  • feat: add animated PulsingDots loader, replace static progress placeholderlifelong-habit-app09:24
  • fix: resolve offline cold-open hang and add long-wait feedback to progress tablifelong-habit-app08:16
  • chore(dependencies): add @react-native-community/netinfo version 12.0.1lifelong-habit-app06:53
  • feat(device-sessions): fix os_name source, add build fingerprint and sign-in loglifelong-habit-app05:44
Mon, Jul 6

No commits.