🪁

// Case Study · 01 · Flutter App

KiteSpend

Track Every Rupee. A warm, journal-like daily expense tracker.

TypeAndroid App (Flutter)
StackFlutter · Dart · Google Drive API · fl_chart
Status● Production Build
StudioFerryPot Studio · Jayy
0ms
Server latency
100%
Private Drive backup
60fps
Chart animations
₹0
Backend cost

// Overview

Personal finance shouldn't feel like a tax audit.

Most expense trackers fail because they feel like sterile corporate spreadsheets. They bombard users with complex accounting terms, rigid categories, and invasive cloud sign-ups that harvest financial data.


KiteSpend was designed to re-imagine daily money tracking as a warm, calm personal financial journal. Built with Flutter, it combines high-performance interactive fl_chart visual analytics with a zero-server privacy architecture that backs up directly to the user's personal Google Drive.

// The Challenge & Solution

Designing for habits & privacy.

// The Problem
Clinical UI & Data Vulnerability

Traditional finance apps demand immediate registration, store sensitive transactional history on third-party servers, and require tedious multi-click forms just to record a small coffee purchase. Users drop off within 7 days.

// The FerryPot Solution
Warm Journal UX & Zero-Server Sync

KiteSpend treats every entry like a journal note. With an editorial typography system (Fraunces + Space Mono), instant single-tap currency entry, and 100% user-owned Google Drive storage, tracking expenses becomes effortless and completely private.

// Product Features

Crafted for daily delight.

📖
Warm Journal Design

Warm cream canvas, custom serif headings (Fraunces), and Space Mono typography for clear monetary readability.

☁️
Google Drive Private Sync

Zero external servers. Encrypted JSON backups sync straight to your personal Google Drive app-data container.

📊
Interactive Chart Analytics

Dynamic spending breakdown pie charts and trend lines powered by custom fl_chart Flutter widgets.

🔔
Smart Weekly Digest

Automated scheduled notifications summarizing weekly spending highlights and budget thresholds.

Offline-First Speed

Instant local data operations via Shared Preferences. Zero load spinners or latency when logging cash expenses.

🎯
Custom Week & Currency

Tailor start-of-week settings (Monday/Sunday) and multi-currency formats tailored to local regional preferences.

Flutter 3.x Dart Google Drive API fl_chart Google Sign-In flutter_local_notifications shared_preferences Figma UI/UX

// Architectural Decisions

Engineering choices that scaled clean.

01 / Zero-Server Google Drive Sync
Private OAuth2 Scoping over custom REST Backend
Instead of building and maintaining a custom Node.js/PostgreSQL cloud server, KiteSpend authenticates via Google Sign-In and streams backups into the user's private Google Drive storage via googleapis. This guarantees zero server infrastructure cost for FerryPot and absolute privacy for the user.
02 / Dual-Font Editorial System
Fraunces Serif + Space Mono Monospace pairing
Standard system fonts look like system utilities. By pairing the organic serif character of Fraunces for category headers with the strict tabular alignment of Space Mono for monetary figures, the UI achieves a distinctive editorial aesthetic without sacrificing financial clarity.
03 / Reactive Local Repository Pattern
Shared Preferences with async Drive sync queue
All UI state mutates instantly against local device storage for immediate 0ms feedback. Background workers quietly batch and push updates to Google Drive, ensuring complete offline resiliency even when cellular signal drops.
04 / Custom FL_Chart Canvas Visualizations
Hardware-accelerated financial analytics
Rather than using webviews or heavy image charts, KiteSpend builds custom Flutter canvas touch points with fl_chart. Category slices render at smooth 60fps with haptic feedback on selection.

// Technical Metrics & Execution

Built to perform on any device.

UI Render Frame Rate 60 FPS
Cold App Launch Time < 380ms
Local Data Operation Latency 0ms
Google Drive Backup Integrity 99.9%
kitespend@ferrypot ~ % flutter run --release
→ Initializing AppTheme... Warm Journal Design active
→ Checking Google Auth... Token valid · Drive scope active
→ Syncing local ledger... 14 entries verified
✔ KiteSpend ready · 0ms latency

// Lessons Learned

What building KiteSpend taught me.

✓ What Worked

Warm editorial design system transformed routine expense recording into a calm daily habit. Users appreciated the lack of corporate clutter.

! What Was Hard

Google OAuth2 Scoping for Drive requires subtle scope handling to request only appDataFolder access without alarming privacy-conscious users.

✓ What Worked

Space Mono typography for amounts made reading totals effortless across different phone screen sizes and dark/light ambient environments.

! What I'd do differently

Multi-currency converter — initially hardcoded single-currency symbols. Adding multi-currency support early in schema design saves migration effort.

// Legal & Compliance

100% Transparent Privacy & Terms.

KiteSpend operates under strict privacy-first guidelines. Your financial records remain 100% on-device or encrypted in your personal Google Drive account.

Privacy Policy Terms & Services

Take control of your finances.

Warm Journal Design · 100% Private Drive Sync · Built by FerryPot Studio

Explore Studio Lineup ← Back to FerryPot Studio
Next Case Study → MemoDate Private journal · Google Drive sync Next Case Study → Near Chat P2P mesh messenger · AES-256