Skip to content

Siddharth Pandalai

Senior Android Engineer, Mobile Architecture & Platform

+91 8848852062|siddharthpandalai990@gmail.com|linkedin.com/in/siddharth-pandalai|github.com/darkpandawarrior|siddharth-pandalai.vercel.app|dev.to/darkpandawarrior

Pune, India · Open to remote (worldwide / India) and hybrid in Pune / Bengaluru

Professional Summary

Senior Android Engineer, 5+ years in Kotlin. I owned the Android platform behind a 964k LOC financial SaaS app as both its technical owner and its Product Owner, from sprint planning and requirements through release and the crash dashboard the next morning. I inherited it as Java with no Kotlin in it and rebuilt it on Clean Architecture with MVVM and MVI, immutable UiState over Coroutines and Flow, Hilt, Room and Retrofit. The depth is in the hard systems and in performance at scale: staged dead reckoning with Kalman smoothing on the GPS pipeline, Android Keystore encryption and SSL pinning that carried the app through VAPT, and a crash reduction that came off the concurrency model rather than defensive catches. Before that, three years owning Android on a white label mobility super app.

Core Competencies

Kotlin & Jetpack Compose (Material 3)Clean Architecture (MVVM / MVI), multi-moduleKotlin Multiplatform (KMP, building depth)Android SDK & Jetpack (ViewModel, Lifecycle)Kotlin Coroutines & Flow, StateFlow / SharedFlowHilt / Dagger (dependency injection)Room, DataStore & WorkManager (2 DBs, 24 production migrations)Retrofit / OkHttp & REST APIsLocation Engineering (Dead Reckoning, Kalman, Foreground Services)Mobile Security (Android Keystore, SSL Pinning, BiometricPrompt)CI/CD (Fastlane, Gradle, ProGuard/R8), unit & instrumented testing, Google Play Console

Key Achievements

50k+ monthly active users · 95% GPS accuracy · 85% crash reduction · ~87% UI-layer Compose · 1.6 to 4.5 stars on the Play Store

Professional Experience

Neev Consulting | Consulting Engineer, Platform & AI

April 2026 - Present | Contract, India

  • Built the LLM assistant layer of an ERPNext/Frappe consulting ERP: business-context resolution, capability discovery, and an AI capability gate that defaults OFF with a test proving it. Models client to project to PO to milestone to GST invoice to payment end to end.
  • Shipped the platform on Python and Frappe over MariaDB under Docker Compose, with a LibreChat deployment and MCP tool wiring for Atlassian and Playwright. Four repositories, all of it reviewed.

Dice.tech | Senior Android Engineer (SDE-2) & Product Owner

June 2023 - September 2026 | Pune, India

  • Platform Ownership: I owned the Android platform end to end at 50,000+ MAU: expense claims, vouchers, advances and settlements, travel booking and trips, procurement from purchase request through goods inward note to invoice, multi-level approvals, corporate cards and QR payments, and mileage. Two of us wrote effectively all of it, me and a junior engineer I trained, against the architecture and review standards I set.
  • I owned requirements as well as delivery: sprint planning, feature allocation across the team, review, release, and the crash dashboard the morning after. Built the platform so a new client ships without anyone writing UI code.
  • I ran interview loops and hiring for the frontend and React Native teams. Mentored a junior engineer from Flutter to production Kotlin; he now manages this app at the company that acquired it.
  • I led the migration off legacy Java and XML, taking roughly 87% of the UI layer to Jetpack Compose and Material 3, and built the shared component library every module renders through. Migrated incrementally through interop, rebuilding each screen onto a single immutable UiState behind its ViewModel.
  • AI: I built the in-app AI assistant: streaming responses, server-held conversation history, voice mode, and a feedback loop ranking what people actually ask. Earlier I built the odometer scanner, a CameraX analyser running ML Kit text recognition so a reading comes off the dashboard instead of the keyboard.
  • I owned the GPS pipeline behind a location-type foreground service for 22,000+ DAU: staged dead reckoning over GPS/IMU with a 1D Kalman smoother and spike rejection, surviving Android foreground-service rules, boot restart and battery optimisation. Took tracking accuracy from 50% to 95%.
  • Crash Reduction: I took production crashes down 85%. The fix was the concurrency and threading model, not defensive try/catch. Firebase Crashlytics and Sentry caught regressions before users reported them.
  • Security Hardening: I hardened the app to VAPT and banking compliance: AES-256 Android Keystore field-level encryption, a biometric access gate, and SSL pinning across 9 domains (5 SHA-256 pins) via build flavors.
  • I ran the Room persistence layer across two production databases, including all 24 hand-written schema migrations, DataStore, and a WorkManager sync pipeline that keeps working offline and reconciles with the backend when the device comes back.
  • I built the in-app review prompting that took the Play Store listing from 1.6 stars across 67 reviews to 4.5 stars across 27,300, and the A/B experiment framework behind it: deterministic hash-based variant assignment across concurrent tests, carried into analytics.
  • I built the multi-tenant theme platform: a server-supplied tenant seed colour resolves into a full Material 3 scheme at runtime (MaterialKolor), with dark mode, colour override and Material You owned by the client. Cut UI development friction 60%.
  • I built a second assistant inside travel that drafts and amends an itinerary in conversation, reusing the same streaming and history layer.
  • I built the dynamic form engine the expense, travel and procurement modules all render their inputs through, so a new field type is a server change rather than a release.
  • I built the storage management screen and moved the app onto Scoped Storage, dropping the external-storage permission entirely.
  • I built the in-app QR payment flow and the corporate card surfaces alongside the expense modules they settle against.
  • I led the procurement module, from purchase request through goods inward note to invoice, and shipped its vendor-inventory flows through review by the engineer I was mentoring.
  • I ran the build platform: Fastlane build, signing and release pipelines, the AGP 9 upgrade, and agent tooling wired into the build itself (Firebender over MCP). Kept the app current through the Android 12 to 17 releases and their Play Console deadlines.

Jugnoo (Jungleworks / Tookan) | Software Engineer, Android & Vertical Owner

January 2021 - May 2023 | Chandigarh, India

  • I carried Android across a multi-vertical super-app (ride-hailing, carpool, delivery, grocery, bike and car rental, shuttle and wallet) spanning customer, driver and merchant apps with 5M+ Play Store installs. Joined a nine-year-old codebase seven years in, and became one of its primary maintainers.
  • I built a per-tenant flavour system (build config, resource overlays, isolated storage and branding) so 150+ clients ship from one codebase rather than a fork per client, with vertical enablement on server driven feature flags. Cut per-client delivery time 80%.
  • I owned requirements and delivery for the P2P carpool, trucking, e-bike and super-app verticals, writing the specs I then had to build.
  • I built the Razorpay and Stripe gateway integrations across checkout flows, handled Stripe 3D Secure through an SDK migration, and built the corporate account verification flow from scratch in MVVM.
  • I built the animated and curved polyline rendering behind live ride tracking on Google Maps.
  • I migrated the toolchain across a multi-branch, multi-client codebase: Kotlin plugin and Gradle 7.0, and the Android 10 to 13 platform changes with the Play Store requirements each brought, without breaking any of the 150+ client builds.
  • I ran roadmap planning with product and backend across the carpool, trucking and e-bike lines.

John Deere India | GET Intern

May 2020 - July 2020 | Pune, India

  • Built a proof of concept integrating social-media sentiment analysis into financial lending systems to enhance credit-risk modeling.

Projects

Gaddi | Kotlin Multiplatform, Compose Multiplatform
A Hinglish social-deduction bluffing game of power, satire & second chances. Gaddi ke liye kuch bhi karega. Pure (GameState, Intent) → GameState reducer drives the AI, UI, and a future server.

Doori | Kotlin Multiplatform, Compose Multiplatform
Offline-first mileage, travel & expense tracker on one Kotlin codebase across Android, iOS, Wear OS, watchOS & Desktop. 52-module clean architecture: 13 feature modules meeting only at the composition root.

PaymentsLab-KMP | Kotlin Multiplatform, Compose Multiplatform
An Integration Lab for the Android payments ecosystem: every gateway behind one abstraction, with a live look at what actually happens on each transaction. 48-module registry (17 local + 31 composed) spans 70 cataloged payment gateways.

Candidai | Kotlin Multiplatform, Compose Multiplatform
A native, multiplatform AI career-intelligence engine, and the open-source project it's built on. 25-module Kotlin Multiplatform clean architecture (12 feature + 6 core modules) targeting Android, iOS, Desktop, Web and a Spring Boot 4 server from one shared engine.

Portfolio Twin | cv-siddharth, React 19
The site you're reading, plus Panda the assistant that answers for me, and the whole thing rebuilt a second time in Compose Multiplatform, one commonMain to Web, Desktop, Android and iOS. Two full implementations of one portfolio: the same content rendered by React on the web and by Compose Multiplatform to four targets, which makes the comparison concrete rather than theoretical.

STUTTER | Godot 4.7, GDScript
A first-person time-loop game about a moment someone could not let end. One deterministic (state, InputFrame) → state step reused five ways: cooperative Echoes, ghosts, leaderboard replays, the Hunter, and boss desync.

SINC-P | Next.js 16, React 19
A statutory student-grievance redressal system, built to survive a UGC inspection rather than a demo. A statutory SLA clock escalating officer, then admin, then the Ombudsperson tier the regulations require, plus a hash-chained audit trail a retro-edited remark cannot pass unnoticed.

The KMP toolkit family | Kotlin Multiplatform, Gradle convention plugins
Three decoupled repos so a new app starts at "write the feature". kmp-toolkit: 46 modules, each extracted the moment a second consumer needed the same logic, never designed as a "platform" up front, from the mvi-core base all four apps share to modules like device-integrity and a chart renderer still finding their first consumer.

The Loopdown | Node.js, Markdown
Field notes from an engineer who writes: one war story, four channels, one branded card. One lesson in, four channel-shaped posts out, each with a branded SVG card. The adaptation is the product, not the writing.

Upstream contributions: 25 merged PRs to career-ops (public OSS, 75k+ stars) : make js-yaml imports work on both 4.x and 5.x; take the shared lock for scan-history.tsv appends; concurrent adds silently dropped queued requests; a rate-limited posting was classified expired, not uncertain; a k/M/B magnitude suffix let an inflated claim past the gate; opt-in LLM relevance re-ranker for pipeline.md; Korean and Traditional Chinese CVs had no font rule; aliases the engine accepts were missing from states.yml; states.yml cached for the process lifetime, so core updates go unseen; --company/--posted-after/--posted-before ignored in =value form; $-patterns in candidate text splice the template into the CV; distinct non-Latin companies merged into one, deleting a row; a custom template's unfilled {{TOKEN}} shipped into the letter; queue requests for the next session; rewrite only the Status cell on status update; add Breezy HR provider; add BambooHR provider.

Also contributing to openMF/Mifos: 2 merged (openMF/kmp-project-template #298, #299), plus 2 open (mifos-passcode-cmp #82, mifos-x-actionhub #89).

Education

B.Tech, Computer Science & Engineering · NIT Bhopal (MANIT)· 2017 - 2021

Technical Skills

Languages Kotlin, Java, Dart, C++

UI Jetpack Compose, Material 3, Custom views, Accessibility (contentDescription, TalkBack), Compose-View interop, Compose Multiplatform

Architecture Clean Architecture, MVVM, MVI, Multi-module architecture, Repository pattern, SOLID & design patterns, Kotlin Multiplatform (KMP, building depth)

Concurrency & DI Kotlin Coroutines, Flow operators & reactive streams, StateFlow / SharedFlow, RxJava (legacy interop), Structured concurrency, Hilt, Dagger, Koin, Dependency injection, LiveData

Data & Networking Room (SQLite, 24 schema migrations across 2 databases), Paging 3, HTTP & image caching, JSON serialization, DataStore, Retrofit, OkHttp, Ktor, REST APIs, WebSockets

Platform Android SDK, ViewModel & Lifecycle, Navigation, WorkManager, Foreground Services, CameraX + ML Kit (on-device OCR), Deep linking, Geofence-gated service levels, Localization (18 locales), Performance monitoring, Memory & lifecycle leak fixes, Location / dead reckoning + Kalman filtering, Firebase Crashlytics + Sentry, Analytics instrumentation (Mixpanel), Push notifications (FCM), A/B testing & feature flags, Battery optimisation

Security Android Keystore (AES-256), OAuth 2.0, JWT & token refresh, SSL pinning, BiometricPrompt, EncryptedSharedPreferences, VAPT compliance

Leadership & Process Cross-functional collaboration, Stakeholder management & roadmap planning, Mentoring & hiring loops, Code review standards, Agile sprint planning

Build, CI/CD & Tools Gradle (Kotlin DSL), AGP 9, Fastlane, GitLab CI, ProGuard / R8, Git, Android Studio, Figma, Unit testing and instrumented testing, Macrobenchmark & Baseline Profiles, Google Play Console & release management, Firebender + MCP agentic workflows, LLM provider integration (Groq, Gemini, Claude)