
Consumer Indexing App
Android app for 6.4M consumer KYC & QR code generation
Android Developer
View Details →Engineering native, offline-first Android applications, secure local databases, and enterprise data ingestion tools. I build software designed for reliability under field conditions.
4+ Years
Building systems
Remote + Onsite (Guwahati Area)
Clean Architecture Setup → Local Keystore Hardening → Release Deployment
Optimization Summary
Summary: Many mobile apps drain battery, freeze on low-end devices, or fail to sync data when connections drop. I build systems to prevent these failures.
“The mobile app crashes or freezes on low-end, 2GB RAM field devices.”
I write clean native Kotlin code utilizing Android SDK, profile memory leaks, and schedule background sync tasks using WorkManager to prevent UI thread blocking.
“Data is lost when field agents drop connection in remote villages.”
I implement offline-first architecture using Room DB or SQLDelight. All captured entries, coordinates, and photos are saved locally, and sync automatically when Wi-Fi is restored.
“Sensitive user details and statements are stored in cleartext.”
I configure SQLite databases encrypted with SQLCipher. I secure keys using the hardware-backed Android Keystore, wrapping access in biometric authentication prompts.
“Photo compression degrades image details needed for verification.”
I configure custom CameraX setups, applying non-destructive resizing to document and meter photos, keeping file sizes small while preserving readability.
Summary: I build robust, native Android software designed to process large datasets, run complex local operations, and operate in areas with poor internet connection.
Companies needing to deploy mobile apps to field agents (like the Consumer Indexing App indexing 6.4M consumers) operating in remote areas under harsh connectivity constraints.
Businesses building financial trackers or document handlers (like FYRA Finance) that require strict local data protection, SQLite encryption, and biometrics.
Teams registering rooftop installations or field nodes requiring precise GPS coordinates, geotagged photos (via CameraX), and automatic offline queues.
Founders seeking a clean MVI architecture in Jetpack Compose to deploy native apps built on standard codebase conventions.
Summary: You receive clean, build-ready native code repositories with zero proprietary licensing.
Native Android project codebase organized under clean Clean Architecture boundaries, utilizing Jetpack Compose for the layout.
Production-ready Android App Bundle (AAB) packages ready to upload to Google Play, alongside APKs for local sideloading.
Fully typed SQLDelight schema files and database migrations structured for local and remote synchronization.
Guidelines detailing the Android Keystore wrapping keys, Network Security Configs for domain whitelisting, and encryption details.
Clear Markdown guidelines detailing offline queuing mechanics, local database structures, and synchronization protocols.
Summary: I write native code designed to process telemetry, compile local databases, and secure private records.
Scale mobile indexing. I engineer native Kotlin field apps (such as the Consumer Indexing App) designed to generate QR IDs, capture documents, log GPS markers, and synchronize millions of records over poor networks.
Secure local ledgers. I build offline-first mobile databases using SQLCipher and Android Keystore AES-GCM envelopes, ensuring files are protected from direct physical extraction.
Algorithmic accounting. I design double-entry bookkeeping modules implementing netting algorithms (similar to FYRA split netting) to minimize overlapping transaction vectors.
Summary: I build software using native Android frameworks and secure databases.
Summary: This document outlines Jishnu Mahanta's architectural approach to constructing native Android utility applications, encrypting client-side databases, and engineering robust offline-first synchronization loops.
In native mobile development, client-side data protection is critical. Storing sensitive customer profiles, financial balances, or local scan logs in cleartext SQLite databases invites reverse-engineering exploits. I harden local databases by applying SQLCipher (AES-256 database encryption) and securing keys using the hardware-backed Android Keystore.
Hardware-Backed Key Storage
Saving database keys directly in cleartext XML SharedPreferences is a common security failure. Instead, I generate a random 256-bit AES key, wrap it inside an encryption envelope using the Android Keystore's MasterKey (stored inside secure hardware enclave chips), and decrypt it only during database instantiation.
Below is the Kotlin pattern I implement using SQLCipher to initialize secure, encrypted databases inside native Android systems:
import android.content.Context
import androidx.room.Room
import androidx.room.RoomDatabase
import net.sqlcipher.database.SQLiteDatabase
import net.sqlcipher.database.SupportFactory
fun getEncryptedDatabase(context: Context, dbKey: ByteArray): MyDatabase {
// Generate a SupportFactory with the raw byte key retrieved from the Keystore envelope
const val DB_NAME = "secure_local_ledger.db"
val factory = SupportFactory(dbKey)
// Load SQLCipher libraries into memory
SQLiteDatabase.loadLibs(context)
return Room.databaseBuilder(
context.applicationContext,
MyDatabase::class.java,
DB_NAME
)
.openHelperFactory(factory) // Enforce SQLCipher database encryption
.build()
}
Biometric Lock Binding
For high-security applications (like FYRA Finance), configure Keystore parameters to require active user biometric authentication (setUserAuthenticationRequired(true)) before keys can be retrieved to open the database.
Field agents operating mobile apps in remote regions of Assam frequently drop connectivity. To prevent user flow interruption or data loss, I deploy an offline-first local database design combined with transactional sync queues managed via Android's WorkManager.
Blocking Main Threads with Network Calls
A common mistake is attempting to upload data directly on the main UI thread during form submission. If the network is slow, the interface freezes, triggering Application Not Responding (ANR) warnings. Always save data to the local DB immediately, delegating uploads to background workers.
PENDING.import android.content.Context
import androidx.work.*
import java.util.concurrent.TimeUnit
fun scheduleDatabaseSync(context: Context) {
// Define constraints: Sync only when internet is connected
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
// Create a one-time work request with exponential backoff retries
val syncRequest = OneTimeWorkRequestBuilder<DatabaseSyncWorker>()
.setConstraints(constraints)
.setBackoffCriteria(
BackoffPolicy.EXPONENTIAL,
OneTimeWorkRequest.MIN_BACKOFF_MILLIS,
TimeUnit.MILLISECONDS
)
.build()
// Enqueue the work as unique, preventing duplicate sync queues
WorkManager.getInstance(context).enqueueUniqueWork(
"unique_db_sync_job",
ExistingWorkPolicy.REPLACE,
syncRequest
)
}
Consumer Indexing App Scale
During the development of the Consumer Indexing App, field agents had to log GPS coordinates and meter photos for millions of consumers across Assam under poor network coverage. By implementing a native Room DB offline queue, agents could work seamlessly offline. The app synced over 6.4 million consumer entries without a single database crash or record loss.
To capture verifiable field records (such as solar panel rooftops locations), apps must interface directly with native hardware sensors:
Summary: I develop custom software through incremental, structured phases, ensuring data pipelines are validated before release.
Phase 1 of 9
We define requirements. I establish a Clean Architecture blueprint: dividing logic into data, domain, and presentation layers to keep components decoupled.
Dynamic projects fetched from the portfolio database demonstrating execution.

Android app for 6.4M consumer KYC & QR code generation
Android Developer
View Details →
Android app with GPS mapping for solar installations
Android Developer
View Details →
A Private, Offline-First Double-Entry Ledger System
Android & Security Engineer
View Details →Summary: Cross-platform templates freeze on low-end devices and struggle to run background tasks cleanly. I write native Kotlin code built for performance.
| Integration Factor | My Software Engineering | Typical Cross-Platform Developer |
|---|---|---|
| Memory & Battery Performance | ✓ Native Kotlin code optimized for low-end (2GB RAM) devices. | ❌ High memory footprint; hybrid apps freeze under load. |
| Offline Synchronization | ✓ Background sync syncs data when network returns. | ⚠️ Vulnerable to data loss; simple offline storage models. |
| Local Database Security | ✓ SQLite files encrypted with SQLCipher and secured by Keystore. | ❌ Stores user credentials in cleartext Shared Preferences. |
| Native Hardware Integration | ✓ Direct access to CameraX, GPS location, and biometrics. | ⚠️ Relies on buggy plugins that lag under multi-task operations. |
Summary: Based in Guwahati, I engineer custom software and native Android apps statewide across Assam. Remote architecture planning is supported by on-site field testing and integration in Jorhat, Dibrugarh, Silchar, Nagaon, and Tezpur.
For clients across other major Indian tech hubs (Bengaluru, Hyderabad, Pune, Chennai, Mumbai, Delhi NCR) and global locations (US, Canada, UK, Australia, Germany, Singapore), I provide remote development via GitHub, secure staging environment deployment, and remote database sync orchestration.
Summary: Read my engineering notes on native mobile performance and encryption.
How to wrap database credentials in cryptographic envelopes and require biometric triggers to decrypt.
Code configurations detailing queue retries and handling network drops during bulk uploads.
How to configure camera parameters to parse invoices and text strings without consuming excessive RAM.
Structured query answers targeting specific informational searches.
Ready to deploy a native Android application built for offline stability, secure data logs, and performance? Let's discuss your system requirements.