Ryan YangSoftware Engineer
Menu
← Back to selected work

Engineering case study

HabitForge

A cross-platform habit and personal-finance application with offline tracking, widgets, analytics, exports, and optional AI-assisted workflows.

HabitForge app icon
Role
Independent Mobile Developer
Timeline
June 2025 - Present
Platform
iOS / iPadOS
Status
Released

Overview

A cross-platform habit and personal-finance product covering streaks, budgets, reminders, widgets, analytics, exports, and optional AI-assisted input.

Contributions

  • Shipped offline habit and finance workflows with local storage, a private iCloud container, widgets, analytics, reminders, and CSV export.
  • Modeled 40+ domain entities across habits, finance, rewards, notifications, and UI flows using separate contexts and typed service layers.
  • Built WidgetKit and App Groups batch synchronization through Swift and Objective-C native modules.
  • Integrated Gemini recommendations and natural-language expense parsing with anonymized inputs and response caching so core tracking remains functional without AI.

System design

ApplicationExpo and React Native provide the cross-platform interface and typed product flows.
Domain modelSeparate providers and services isolate habit, finance, reward, notification, and settings responsibilities.
Native bridgeSwift and Objective-C modules synchronize consolidated app data into WidgetKit through App Groups.
AI boundaryGemini is optional and cached; routine tracking and finance functions remain local and available offline.

Outcome

A consumer application where a large feature set is kept maintainable through explicit domain boundaries and narrow native integrations.

Core stack · Expo · React Native · TypeScript · Swift · Objective-C · WidgetKit · Gemini API

Discuss the work

Need implementation detail or engineering context?

Email a specific question about the architecture, trade-offs, or validation approach.