> hello_world.dart
Hi, I'm Manoj.
Senior Software Engineer.
8+ years crafting Android & Flutter apps used by millions. Based in Bengaluru, India.
01 · About
A bit about me
📍 Bengaluru, India
💼 8 years shipping mobile
I've been building mobile apps for 8+ years — starting with native Android in Java and Kotlin, then moving into Flutter as it matured. Most of my time is spent thinking about state management, offline behavior, and how a codebase holds up after two years of feature work.
I care about the parts users never see: cold-start budgets, crash-free rates, memory pressure, and how gracefully the app degrades on a 2G connection. I like clean architecture, but I like shipping more — the two are not always the same.
Outside of client work I maintain a couple of open-source Flutter packages, occasionally write about mobile architecture, and take long motorbike rides across the Western Ghats.
02 · Skills
Things I work with
Mobile
- Flutter
- Dart
- Android
- Kotlin
- Java
- iOS
Architecture & State
- BLoC
- Riverpod
- GetX
- Provider
- Clean Architecture
- MVVM
- Modularization
Backend & Data
- Firebase
- REST
- GraphQL
- gRPC
- Node.js
- SQLite
- MongoDB
- Hive
DevOps & Tooling
- Docker
- Fastlane
- GitHub Actions
- Codemagic
- Bitrise
- Sentry
- Firebase Crashlytics
03 · Projects
Selected work
Consumer fintech app
Led a Flutter rewrite of a native Android banking app — UPI, bill splits, card controls. Modularized the codebase so feature teams could ship independently and cut the release cycle from four weeks to ten days.
Millions of users · 4.6★
Offline-first health tracker
Android app for field health workers in rural areas. Wrote the sync engine that handles conflict resolution across intermittent 2G connections and background WorkManager retries.
Deployed at scale
Language-learning app
Spaced-repetition Flutter app with an on-device speech-recognition pipeline. Owned the audio processing layer and the gamification loop from scratch.
500K MAU
Enterprise field-service app
B2B mobile app for utility technicians. Built an offline job queue, barcode scanning, and signature capture over an intermittent-network sync layer.
12K daily technicians
Fitness tracker + wearable
Cross-platform fitness app with Wear OS and watchOS companions. Handles BLE sensor streams, HealthKit / Google Fit sync, and a custom DSL for workout definitions.
1.2M downloads
flutter_offline_cache (OSS)
Open-source Flutter package for typed, TTL-aware offline caching over any data source. Type-safe API, pluggable storage adapters, battle-tested in production.
1.4K ★ on GitHub
04 · Craft
How I build
Performance is a feature
Cold start under 1.5s, jank-free scroll, memory that behaves after 30 minutes of use. These are not optimizations — they are requirements. I measure before and after every change that could touch them.
Offline-first, always
Networks fail. Users on 2G, on planes, in basements, in tunnels. I design for the sync engine first and the online path second — it forces cleaner boundaries between UI, cache, and remote.
Architecture that survives Year 2
Any pattern looks clean at week 1. I care about how a codebase reads after two years of features, three engineers rotating out, and one major refactor. Boring choices usually win.
Tests that catch real bugs
Widget and integration tests that mirror how users actually use the app. Golden tests for anything visual. Unit tests for logic that could rot silently. Skip the tests that only test the framework.
Ship deliberately
Feature flags, staged rollouts, crash-rate gates before promotion, and a runbook for the release. The exciting part of shipping is that nothing exciting happens.
Read the platform docs
Flutter, Android, iOS — the platform teams write the definitive answers. I go there first, then to StackOverflow, then to LLMs. In that order.
Currently exploring
- Impeller rendering internals
- Rust for native FFI on Android
- Kotlin Multiplatform for shared domain logic
- On-device LLMs via TensorFlow Lite
05 · Contact
Let's build something
Have an interesting mobile problem, an idea worth building, or just want to talk architecture? Reach out — email is fastest.