HIGHWINNEW
Highwinnew Studio / Shipped Platforms / WhereCash Case Study
Google Play Store Live Mobile Application · Personal Finance

WhereCash — Liquid Glassmorphic Mobile Wealth Ledger

A high-performance, offline-first personal finance ledger featuring liquid spring physics, multi-store state synchronization, and fixed-point money math.

Lead Mobile Architect & Full-Stack Engineer
Production Build · 2024–2026
WhereCash — Liquid Glassmorphic Mobile Wealth Ledger
0ms
Instant Caching
Zero UI-blocking disk reads
60 FPS
Spring Physics
Locked native Reanimated thread
100%
Fixed-Point Math
Zero floating-point balance drift
Offline
Local-First Ledger
Zero latency network dependency

Engineered Stack & Libraries

React Native
Cross-Platform Core
Expo Router v56
Type-Safe Stack Navigation
TypeScript
Strict Headless Typing
Zustand Store
Selective Slice State
Reanimated 3
Native Thread 60FPS
Expo Blur & Haptics
Tactile Micro-Feedback
SVG Precision Charts
Dynamic Headroom Data Viz
Expo Notifications
Local Due Date Scheduling

Clean & Headless Architecture Pattern

Declarative View Shells (< 150 lines)
Screens in src/app/ contain no raw state management, API queries, or haptics. They act strictly as thin declarative layout shells binding hooks to atomic components.
Headless Feature Hook Engine
Custom hooks (src/features/[feature]/hooks/) encapsulate all form validations, store coordination, repayment calculations, and analytics math in headless testable modules.
Atomic Component Hierarchy
Reusable UI building blocks (liquid glass cards, progress rings, custom tab bars) consume stateless props and execute pure render-only lifecycle workflows.

Core Product Capabilities

Visual System
Liquid Glassmorphism UI System
Frosted glass backdrops utilizing dynamic blur layers, top 1px physical glass reflection bars, and spring-driven tab selector animations executing directly on native UI worklets.
Core Engine
Smart Loan & EMI Repayment Ledger
Orchestrates multi-store transactions across loan balances, historical ledgers, and account sources. Includes automated local payment alerts and single-tap reversible rollback actions.
Data Pipeline
Multi-Source Statement Import Engine
Ingests CSV, JSON, and text paste statements via a sandboxed permission screen. Features real-time pre-parsing validation cards and phased progress status rings.
Analytics
Precision Headroom SVG Charting
Custom cash flow bar and savings trend line charts with dynamic headroom multipliers that prevent high transactional spikes from clipping chart boundaries.
Onboarding
Interactive Tour & Spotlight System
Custom walkthrough guide featuring animated SVG mask cutouts positioned dynamically using screen coordinate maps synced with a dedicated tutorial state slice.

Challenges & High-Impact Optimizations

Startup Boot Latency & Black Screen Flicker
Impact: 3s → Instant 0ms Fade
The Engineering Problem

React Native screens took up to 3 seconds to mount and compile styles during boot, creating a jarring blank flash after the native splash screen completed.

The Architectural Solution

Engineered an absolute Splash overlay pre-rendering index routes while JS initialized. Once fonts and assets signaled appReady, a gapless Reanimated opacity fade transitioned the user onto the live screen.

Money Math Floating-Point Inaccuracies
Impact: 100% Exact Precision
The Engineering Problem

Standard JavaScript floats (e.g., 0.1 + 0.2 = 0.30000000000000004) produced cumulative balance drift when calculating thousands of ledger records.

The Architectural Solution

Implemented a cents-based fixed-point integer math system. All database writes, balances, and analytics compute as raw integers and format only at the visual boundary.

Frame Drops During Rapid Tab Switching
Impact: 60 FPS Native Locked
The Engineering Problem

Navigating between tabs containing heavy SVG charts and extensive transaction feeds dropped frame rates below 35 FPS on mid-range devices.

The Architectural Solution

Deferred intensive SVG chart mounts using delayed frame worklets, allowing transition spring animations to complete first at a locked 60 FPS before rendering heavy visual nodes.

Verified Source Code Showcase

src/features/ledger/utils/moneyMath.ts
TYPESCRIPT
// Fixed-Point Integer Precision Money Math Engine
export function toCents(dollars: number): number {
  return Math.round(dollars * 100);
}

export function fromCents(cents: number): number {
  return cents / 100;
}

export function computeLedgerBalance(transactions: Array<{ amountCents: number; type: "INCOME" | "EXPENSE" }>): number {
  return transactions.reduce((acc, t) => {
    return t.type === "INCOME" ? acc + t.amountCents : acc - t.amountCents;
  }, 0);
}

export function formatCurrency(cents: number, symbol: string = "$"): string {
  const dollars = fromCents(cents);
  return `${symbol}${dollars.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
}

Explore Related Case Studies

Learn how our engineering studio builds scalable architectures from zero to production.

View Vividly Health → Initialize Project with Highwinnew