Back to portfolio

Personal & academic project

CashlyWise

Personal finance & expense tracking

A personal income and expense tracking mobile application with offline-first synchronization, debt management, and smart budgeting.

Concept illustration

An abstract visual interpretation, not an application screenshot.

Purpose

Help users build mindful financial habits through seamless transaction tracking, budget limits, debt tracking with repayments, and offline sync.

What it does

  • Offline-first outbox synchronization
  • Income, expense, and budget tracking
  • Debts and loans tracker with partial repayments

Built with

  • React Native
  • Expo
  • TypeScript
  • Hono
  • Turso
  • SQLite

Architecture schematic

data flow
  1. React Native · Expo · TypeScriptInterface
  2. SQLiteOffline storage
  3. HonoServer
  4. TursoCloud database

Data flow drawn from the project’s listed technologies.

My role

Full-stack mobile and backend architecture spanning the Expo/React Native app, Hono REST API, offline SQLite outbox, and Turso database.

Technical implementation

  • Engineered an offline-first SQLite outbox queue that automatically syncs pending transactions when connectivity restores.
  • Built monthly category budget safeguards with real-time alert thresholds and notification summaries.
  • Implemented debt and loan tracking supporting partial repayments, due date reminders, and dashboard balance updates.

Architecture & workflow

  • React Native and Expo Router client with NativeWind styling and FlashList for high-performance ledger scrolling.
  • Hono Node.js REST API with Better Auth managing Google OAuth sessions and authenticated data endpoints.
  • Turso distributed LibSQL database managed through Drizzle ORM migrations paired with local device SQLite.

Challenges

  • Managing seamless offline transaction creation and deterministic conflict resolution without losing user ledger entries.
  • Ensuring secure authentication and token storage across native Android and iOS mobile environments.

Solutions

  • Built an encrypted local queue with background synchronization and visual sync indicators.
  • Paired Better Auth with Expo SecureStore and bearer token interceptors for tamper-proof session persistence.

Documented outcomes

  • Delivered a comprehensive, production-grade personal finance application with instant offline entry, cloud sync, and bilingual support.