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