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

Mar 2 – Mar 8Week 26 of 27
Sun, Mar 8
  • refactor: replaced raw Tailwind typography and shadow styles with textStyles and/or surfaceStyleslifelong-habit-app14:40
  • refactor: made HabitNameInput, ScreenHeader, and ArchetypeSelector reusable componentslifelong-habit-app14:31
  • chore: removed outdated fileslifelong-habit-app14:20
  • refactor: removed StyleSheet again in app/(tabs)/indexlifelong-habit-app14:00
  • refactor: removed StyleSheet and use NativeWindlifelong-habit-app13:59
  • refactor: replaced inline style with textStyles constant in component/dashboardlifelong-habit-app13:56
  • refactor: added reusable google oauth component now, and removed the button for nowlifelong-habit-app10:18
  • feat: added interactiveStyles (single source of truth for reusable buttons, inputs, and other elements a user directly taps or types into)lifelong-habit-app08:20
  • refactor: extracted styles for cards, modals, sheets, banners, and badgeslifelong-habit-app08:19
  • feat: added surfaceStyles (single source of truth for surfaces UI - card, modals, sheets, banners, and elements that "contain" other UIs)lifelong-habit-app08:14
  • chore: added expo auth session lib (for google oauth)lifelong-habit-app08:09
  • fix: fixed missing columns error in template installationslifelong-habit-app07:51
  • refactor: removed footer for nowlifelong-habit-app07:49
  • docs: added blind spot audit and archived old changeloglifelong-habit-app07:49
  • refactor: simplified profile tab, no more exposed details now they're hidden and live on dedicated sub-screenslifelong-habit-app03:37
Sat, Mar 7
  • refactor: made typography.json as single source of truth for fonts (themed-text and _layout still exist, just React Native and Tailwind that can't use single file so we need literally 3 files to manage typography for the app but I only need to go to typography.json to change any fonts), cleaned template card to sync with defined constants, swapped DM Sans with Manrope for body typography, changed textHeading colorlifelong-habit-app16:31
  • chore: add lora family fontlifelong-habit-app16:27
  • refactor: cleaned some pages to sync with new textStyleslifelong-habit-app15:17
  • fix: removed duplicated <text> and other tags, just parsing errorslifelong-habit-app12:39
  • feat: added textStyles as a single source of truth for typography (typography.ts and typography.json failed to tackled this before)lifelong-habit-app07:04
  • fix: resolved typescript property access errorslifelong-habit-app07:02
  • chore: removed landing page directory (out of this app scope)lifelong-habit-app04:34
  • refactor: removed hardcoded fonts entirely from the codebaselifelong-habit-app04:32
Fri, Mar 6
  • refactor: standardize typography rules (heading, body, like theme-registry in constant dir)lifelong-habit-app23:49
  • refactor: hid forgot password link until auth failurelifelong-habit-app23:10
  • feat: added mathematical contrast testing (so I don't have to define onAccent manually once accent is set) and fixed active filter chip transparency bugslifelong-habit-app16:55
  • refactor: replaced harsh solid colors to defined colors in theme registrylifelong-habit-app14:38
  • refactor: renamed token theme for clarity (ink/inkMid/inkFaint -> textHeading/textBody/textMutedlifelong-habit-app13:23
  • fix: auth and guest state fixes, it's so buggy since introducing this new feature I need to figure it outlifelong-habit-app13:03
  • feat: added local theme toggle for guest accountslifelong-habit-app11:19
  • refactor: guest or authenticated users now can explore the pp with read-only modelifelong-habit-app11:10
  • refactor: chanaged theme color from ivory to bonelifelong-habit-app11:09
  • refactor: extracted geometrical SVGs and changed theme colorslifelong-habit-app10:50
  • refactor: simplified theme registry (forest calm is removed) and switched to more versatile colors (ivory, sand, and warm stone colors)lifelong-habit-app10:04
  • refactor: added first glass icon (home, testing it out)lifelong-habit-app09:22
  • refactor: hide OS bar againlifelong-habit-app09:20
Thu, Mar 5
  • refactor: archived wip onboarding & added option to create habits without having to sign uplifelong-habit-app13:23
  • refactor: made edit habit UI layout matches create habit screenlifelong-habit-app12:56
  • refactor: replaced emotes with Ioniconslifelong-habit-app12:43
  • fix: replaced hardcoded tailwind styles for snowball cardlifelong-habit-app10:55
  • refactor: locked template image colorslifelong-habit-app10:54
  • fix: removed hardcoded tailwind config so earthen warm theme can be applied properlylifelong-habit-app10:46
  • chore: added JSDoc for design tokens in theme-registrylifelong-habit-app10:32
  • refactor: replaced hardcoded hex codes with global tokens from theme-registrylifelong-habit-app09:36
  • refactor: redesigned create-a-habit screenlifelong-habit-app07:45
  • docs: added create-a-habit screen html mock uplifelong-habit-app07:17
  • fix: the challenge details screen was cropped: solution: removed SafeAreaView from layout since app group already manages its own top/bottom spacinglifelong-habit-app05:38
  • feat: added challenge details screenlifelong-habit-app05:36
Wed, Mar 4
  • docs: archived old changelog and added a new onelifelong-habit-app16:28
  • refactor: added and cleaned theme configuration (now morning light for light mode and earthen warmth for dark mode)lifelong-habit-app16:22
  • feat: made app fullscreen by hiding OS status barlifelong-habit-app14:36
  • refactor: cleaned dashboard headerlifelong-habit-app13:55
  • refactor: changed the location of create habit buttonlifelong-habit-app13:35
  • refactor: changed text, icons, layout & component positionlifelong-habit-app13:03
  • refactor: all icons now using Ionicons onlylifelong-habit-app10:48
  • chore: added lucide-react-native dependencylifelong-habit-app07:11
  • fix: habit creation triggered no action (Claude messed this up when adding new features, duh), changed the menu routing it's solved nowlifelong-habit-app06:03
  • feat: identity edit in profile, also decluttered dashboardlifelong-habit-app05:24
  • refactor: made _layout.tsx ad one single source of truth for navigator (it was mixed with index.tsx before)lifelong-habit-app04:58
Tue, Mar 3
  • fix: new object/array reference is only saved when data actually changes (before it was an infinite loop since the reference is generated every render)lifelong-habit-app16:14
  • feat: added habit status UI (thru edit screen + long press)lifelong-habit-app15:50
  • feat: added habit state management (active/paused/archived/trashed)lifelong-habit-app14:39
  • docs: added local setup & installationlifelong-habit-app11:30
  • refactor: reorganized header & navigation barlifelong-habit-app11:02
  • docs: added app current state documentlifelong-habit-app10:42
  • refactor: removed total days metric and fixed layout inconsistencylifelong-habit-app10:41
  • fix: dashboard metrics no longer disappear when undoing a habitlifelong-habit-app08:45
  • refactor: calculated today progress for habit, added program_start_date (total days metric was hardcoded)lifelong-habit-app07:22
  • chore: bump react-native-safe-area-context and react-native-svg dependencylifelong-habit-app06:46
  • refactor: stripped away some completed inicators (now only CTA, consistency bar, and strikethrough)lifelong-habit-app06:10
Mon, Mar 2
  • feat: added view density toggle (gallery vs list)lifelong-habit-app11:45
  • refactor: changed data flow pipeline (styling code was hardcoded)lifelong-habit-app10:39
  • feat: edit habit functionalitylifelong-habit-app09:25
  • refactor: updated components to sync with global color system (some got hardcoded when refactoring)lifelong-habit-app08:30
  • refactor: updated typography, category pill, and cta button for habit cardslifelong-habit-app08:10
  • feat: added habit card template stylinglifelong-habit-app07:59
  • docs: added new current state docs and rename mock up filelifelong-habit-app07:52
  • refactor: template color datalifelong-habit-app07:52
  • refactor: responsive FlastList for Template Cardslifelong-habit-app07:26
  • refactor: redesign template library & SVG patternslifelong-habit-app04:55