Back to All Case Studies
Mobile & Cross-PlatformAnonymized Client Engagement2024 - 2025

PulseFit - Cross-Platform Mobile SaaS App

End-to-End Flutter iOS & Android App with Node.js REST API Backend

Abin's RoleLead Full-Stack Mobile Architect
Industry / DomainHealthTech & Subscription Mobile SaaS
Engagement ContextClient brand details and production telemetry have been generalized for client confidentiality. The technical architecture represents production deliverables with client permission.
Platform Target
iOS & Android
Single Flutter codebase
API Response Time
14ms P99
Node.js REST API backend
App Store SLA
100%
Passed Apple & Google review
UI Rendering Rate
60 fps
Smooth animations without jank
The Challenge

The Business & Technical Problem

The founding team needed to launch an interactive fitness coaching and workout telemetry subscription app on both iOS and Android simultaneously. Maintaining separate Swift and Kotlin native codebases exceeded budget runway. Furthermore, gym basements frequently experienced complete cellular dropouts, causing workout logging failures and user churn in earlier prototypes.

Execution Scope

Delivered Scope & Responsibilities

Architecture & System Design

Architected unified cross-platform Flutter mobile client with BLoC state pattern and low-latency Node.js API.

Backend & API Development

Engineered Node.js & Express REST API handling authentication, subscription entitlements, and workout telemetry.

Frontend or Mobile Application

Designed Flutter UI with custom 60fps animation controllers, responsive tablet layouts, and custom charts.

Database Architecture & Persistence

Modeled PostgreSQL relational schemas with foreign key integrity and Redis caching for active user sessions.

Authentication & Permissions

Implemented secure JWT token rotation, Apple Sign-In compliance, and Google OAuth.

Infrastructure & Deployment

Automated GitHub Actions CI/CD building signed IPA and AAB release binaries for Store submission.

Monitoring & Maintenance

Integrated Sentry mobile crash monitoring, Firebase Cloud Messaging (FCM), and automated error logging.

Technical Rationale

Architecture Decisions, Rejected Alternatives & Accepted Trade-Offs

1

Flutter with BLoC State Management instead of React Native

Why It Was Chosen:

Flutter's compiled Skia/Impeller engine guarantees predictable 60fps rendering without JavaScript bridge serialization bottlenecks during real-time sensor updates.

Alternatives Rejected:

React Native was rejected due to bridge thread stutters observed during rapid timer/sensor telemetry ticks.

Trade-Offs Accepted:

Slightly larger compiled mobile application binary footprint (~18MB vs ~12MB native).

2

Hive Local Key-Value Store with Atomic Sync Queue

Why It Was Chosen:

Allowed users to record multi-set workouts in offline gym basements with zero UI latency, syncing automatically when connectivity returned.

Alternatives Rejected:

SQLite was evaluated but Hive provided faster read/write serialization for rapid telemetry logging.

Trade-Offs Accepted:

Required building custom client-side conflict resolution logic for workout log timestamps.

3

Backend Webhook Billing Engine for Stripe & In-App Purchases

Why It Was Chosen:

Validating subscription receipts strictly on the Node.js backend prevented client-side entitlement spoofing and simplified invoice reconciliation.

Alternatives Rejected:

Client-only in-app purchase listeners.

Trade-Offs Accepted:

Required asynchronous webhook retry queuing to withstand intermittent payment gateway webhook delivery delays.

Verifiable Evidence

Measured Project Outcomes

Every metric specifies the measurement environment, method, and Abin's contribution. Unverified benchmarks are not presented as contractual SLAs.

UI Frame Rate ConsistencyLab
Baseline
38-44 fps (React Native prototype)
Verified Result
60 fps locked
Method: Flutter DevTools Performance Overlay on mid-tier Android device (Snapdragon 680) (Q1 2025)
Abin's Contribution: Restructured widget tree using BlocSelector and const constructor widgets to isolate rebuilds.
API P99 Response TimeProduction
Baseline
120ms
Verified Result
14ms
Method: Datadog APM tracing on workout sync endpoints (2024 - 2025)
Abin's Contribution: Implemented Redis read-caching and compound PostgreSQL indexing on user telemetry tables.
App Store Review SLAProduction
Baseline
N/A
Verified Result
100% First-Pass Approval
Method: Apple App Store & Google Play Store initial submission review records (2024)
Abin's Contribution: Authored permission disclosures, Apple Sign-In implementation, and in-app purchase guidelines compliance.
Offline Workout Data LossProduction
Baseline
8.4% recorded failure rate
Verified Result
0.0% reported lost workouts
Method: Production telemetry and sync reconciliation failure logs over 6-month period (2024 - 2025)
Abin's Contribution: Engineered offline Hive transaction queue with idempotency keys.

Evidence & Confidentiality Notice

Client details and production screenshots are omitted under confidentiality. The technical description has been generalized with client permission.

Scope Limitations & Benchmark Boundaries
  • The 60fps frame rate was validated on modern iOS devices and Android devices with Snapdragon 680 or higher; entry-level chipsets may experience brief frame drops during heavy background asset downloads.
  • Reported 14ms API latency applies to warm cache Redis hits; cold uncached historical aggregations average 45-60ms.
Next Architectural Steps

Plan a Cross-Platform Mobile SaaS MVP

Looking to build a high-performance iOS and Android mobile app with a scalable Node.js backend?

Technology Stack & Tools Used

FlutterDartNode.jsExpress.jsPostgreSQLRedisStripe APIFirebase FCMDocker
Ready to Build Your Project?

Let's Build Your Custom Web Application

Whether you need a full-stack web app, a Node.js REST API, a Next.js SaaS MVP, an admin dashboard, or performance optimization for an existing application — I am available for freelance projects in Kerala, India, and worldwide.

Fast WhatsApp & Email ResponseRemote Worldwide & IndiaFixed-Scope or Milestone Rates