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

Feb 23 – Mar 1Week 27 of 27
Sun, Mar 1
  • refactor: made template library neaterlifelong-habit-app22:58
  • refactor: removed restriction that snowball habit must <2 in useHabitCreationFlowlifelong-habit-app21:46
  • refactor: replaced hardcoded hex codes to sync with constant directorylifelong-habit-app21:46
  • docs: added archetypes and flow docs, added library mock uplifelong-habit-app21:45
  • feat: create options for new habit (template library or custom builder)lifelong-habit-app06:46
  • feat: created undo button with confirmationlifelong-habit-app05:32
Sat, Feb 28
  • feat: implemented habit undo featurelifelong-habit-app23:01
  • fix: added skip button and sign in button during onboarding if user already had an accountlifelong-habit-app16:42
  • fix: added handling and skip options during onboardinglifelong-habit-app16:41
  • refactor: removed SecureStore chunking (it caused delays) with added AsyncStorage, implemented onMutate, onError, and onSettled in useLogHabit to improve performancelifelong-habit-app16:02
  • fix: added async chunking adapter for 2048bytes supabase storage warninglifelong-habit-app15:54
  • fix: complete button and missing react-dom dependencylifelong-habit-app15:40
  • refactor: resolved IDE config & expo setting warningslifelong-habit-app14:08
  • feat: moved to mobile first web later, changed direction to "onboarding first, auth later"lifelong-habit-app13:37
  • refactor: modified habitCard, header, and other components to improve dashboard UIlifelong-habit-app13:18
  • hotfix: created TemplateCard that was removed when extracting landing pagelifelong-habit-app12:11
  • refactor: extract landing page to standalone next.js pagelifelong-habit-app11:03
  • chore: rename mockup for clarity, fix docs typolifelong-habit-app10:29
Fri, Feb 27
  • feat: added isInstalled prop to check whether user has installed a habit to prevent them having duplicate habitslifelong-habit-app15:47
  • fixed: FINALLY fixed this stubborn duplicate habit bug YAY :Dlifelong-habit-app15:42
  • feat: added library tab so it's accessibile from the main app after login, not just during onboardinglifelong-habit-app15:32
  • refactor: updated useCreateHabits so it prevents fture re-installs from wiping daily_log historylifelong-habit-app15:27
  • fix: fixed duplicate habit insertion bug (legit 4x duplicates crazy)lifelong-habit-app15:22
  • feat: made dashboard and integrated it with real datalifelong-habit-app15:09
  • fix: added version controlled seed sql for templateslifelong-habit-app07:15
  • fixed broken "clear session" button and template install buglifelong-habit-app07:13
  • fix: solved "invalid input syntax for type uuid" errorlifelong-habit-app05:23
  • feat: added AsyncStorage func, isAutoProcessing state, and removed theme selection for streamlined onboardinglifelong-habit-app04:32
  • style: updated text inputs for auth page to have default brown border (for visibility)lifelong-habit-app03:03
  • refactor: changed fixed autofill background color on the weblifelong-habit-app02:43
Thu, Feb 26
  • style: made authentication page prettierlifelong-habit-app14:52
  • fix: replaced mock up template data with actual data models and patched onboarding auth vulnerability issue (check history for details)lifelong-habit-app14:37
  • feat: splitted app deployment model for landing page and working applifelong-habit-app14:03
Wed, Feb 25
  • refactor: changed text box shadow to be more interactivelifelong-habit-app11:11
  • refactor: redesigned landing pagelifelong-habit-app10:59
  • feat: built unauthenticated landing page to replace default Expo templatelifelong-habit-app10:10
  • feat: added registered user handling via Supabase Auth (before registered users data didn't get recorded in tables)lifelong-habit-app09:20
  • refactor: improved UX to send dialogues if there's any auth errors, invalid credentials, and other validationslifelong-habit-app06:03
  • refactor: added auhentication messages for email confirmationlifelong-habit-app05:59
  • fix: added polyfill dependency to solve Metro Bundler crash and fixed undefined local SSR Storage errorlifelong-habit-app05:31
  • feat(ui): implement independent bento sliders and gluestack v3 habit cardlifelong-habit-app05:06
  • feat(onboarding): Implement Habit Creation Engine UI and validationlifelong-habit-app03:59
Tue, Feb 24
  • feat: implement habit creation engine (Library and Deep Dive)lifelong-habit-app16:01
  • feat: added db definition, scaffoled TanStaack Query layer, and fixed Safe Area UI blindspotslifelong-habit-app08:48
  • feat(route): implemented Expo Router guards and Auh UIlifelong-habit-app04:25
  • feat(auth): implemented a polymorphic storage adapter for Supabaselifelong-habit-app04:17
Mon, Feb 23
  • Initial Scaffold (Phase 1)lifelong-habit-app17:01
  • docs: add PRD and tech stack docs for scaffoldinglifelong-habit-app16:08
  • Initial commitlifelong-habit-app15:59
← Recent weekPrevious week →