Skip to content

Pune, India · Senior Android Engineer

I take Android apps from prototype to platform.

platform owner · 50k+ MAU fintech · 5 platforms · one Kotlin codebase · an engineer who writes

5+ years building production Android. I own the platform behind a ~964k-LOC financial SaaS app serving 50,000+ monthly users. I joined it with zero Kotlin in the codebase. ~87% of the UI layer is Compose today. Location accuracy, crash-free sessions, architecture a team can move fast in.

View résumé

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

// fit check

Hiring? Paste the job description.

My AI assistant reads it against what I've actually shipped and answers the only question that matters: where I fit, and where I don't. No score inflation — the gaps come with the strengths.

score · 0–100, with the bandmatches · each with the evidence behind itgaps · named — never an empty list
answers below, streaming
0 / 12,000⌘/Ctrl + Enter analyses

// featured work

Case studies

The work behind the numbers. Ask the chatbot for more depth on any of these.

50% → 95%

Predictive dead reckoning for billing-grade mileage

Field users' trip distances were off by large margins from urban canyons, tunnels, and OEM-throttled location updates.

Staged dead reckoning plus Kalman smoothing made mileage reliable enough to bill expense reimbursement against.

How I did it
  • Ran staged dead reckoning over the GPS/IMU fix stream, smoothed by a separate 1D Kalman filter to estimate position between fixes.
  • Rejected physically impossible fixes with spike detection, plus gap-filling for weak signal.
  • Ran a foreground service with a floating bubble UI to survive OEM battery restrictions.
LocationDead reckoningKalman filteringForeground services

-80% crashes

Systematic crash triage at 50k-MAU scale

A fast-growing ~964k-LOC app had a crash rate hurting its Play Store rating, driven by untraceable threading bugs.

At 22k DAU the Play Store listing went 1.6★/67 reviews to 4.5★/27.3K, closing 85% of the gap to a perfect 5.0, +181% rating, 407x review volume.

How I did it
  • Clustered crashes to collapse dozens of stack traces into a handful of root bugs.
  • Reconstructed the user journey before each crash with structured breadcrumb instrumentation.
  • Hunted concurrency bugs: main-thread violations, coroutine race conditions, lifecycle leaks.
CrashlyticsStructured concurrencyCoroutines

~87% UI-layer Compose

The theme platform behind a ~964k-LOC Compose migration

XML views made UI changes slow and inconsistent, and design's theming requests meant touching dozens of files.

Reached ~87% UI-layer Compose coverage (455k of 523k LOC) verified per-screen against the legacy XML baseline; UI development friction dropped 60%.

How I did it
  • Migrated incrementally via interop, keeping Expenses, Travel, and Invoices shipping throughout.
  • Standardized on a single immutable UiState per screen with StateFlow and MVI.
  • Built a Dynamic Theme Engine on CompositionLocal: a server-supplied tenant seed colour resolves into a full Material 3 scheme at runtime (MaterialKolor), with the client owning dark mode, user colour override, palette style, Material You and variant.
Jetpack ComposeMVIDesign systems

858 branches · 80% faster delivery

Configuration-driven pipeline for multi-tenant Android

Every new white-label client meant manually forking, rebranding, and re-releasing the app: weeks of error-prone work, and the constraint that mattered was not building the feature once. It was doing that without forking the codebase per tenant.

858 white-label-named branches across two Android repos carry my commits (459 autos, 399 driver, a subset of the 1,179 total) spanning 150+ client codebases, with delivery time cut 80% versus manual per-client builds.

How I did it
  • Built configuration-driven theming and feature flags so one codebase served every client.
  • Automated per-client signing, asset generation, and Play Store packaging end-to-end.
  • Unified brand tokens and vertical-specific flows into a single reusable app template.
Build systemsMulti-tenantAutomation

// projects & open source

Things I've built

Open-source apps built outside employer work, shipped end-to-end. The libraries and tooling underneath them are in The Source, below.

Gaddi: 14 modules · 4 platforms · 10 bot personas

Gaddi

14 modules · 4 platforms · 10 bot personas ]

A Hinglish social-deduction bluffing game of power, satire & second chances. Gaddi ke liye kuch bhi karega.

AndroidiOSDesktopWeb Live

Deterministic Kotlin Multiplatform social-deduction game with ISMCTS bot AI, shipped across Android, iOS, Desktop, and Web.

Kotlin MultiplatformGame engineISMCTS AI
built onkmp-build-logickmp-toolkit
ships toF-DroidGitHub ReleasesHeadless CLI
View case study →GitHub
Doori: 49 modules · 5 platforms · 159 tests

Doori

49 modules · 5 platforms · 159 tests ]

Offline-first mileage, travel & expense tracker on one Kotlin codebase across Android, iOS, Wear OS, watchOS & Desktop.

13 features · 368 screenshots

AndroidiOSWear OSwatchOSDesktop Live

Offline-first mileage, travel, and expense tracker spanning five platforms from one Kotlin codebase, with a real Kotlin/Ktor backend built in, off by default.

Kotlin MultiplatformOpen source
built onkmp-build-logickmp-toolkit
feedskmp-toolkit
View case study →GitHub PaymentsLab-KMP (sibling KMP app)
PaymentsLab-KMP: 44 modules · 66 gateways · 5 rails

PaymentsLab-KMP

44 modules · 66 gateways · 5 rails ]

An Integration Lab for the Android payments ecosystem: every gateway behind one abstraction, with a live look at what actually happens on each transaction.

69 gateways

AndroidiOS Live

A Kotlin Multiplatform systems showcase: real payment flows across dozens of providers, all behind a single PaymentGateway abstraction, backed by a Ktor server that owns order creation, signature verification and webhook reconciliation.

Kotlin MultiplatformOpen source
built onkmp-build-logickmp-toolkit
written up inOne Brain Two Bodies
Candidai: Active · 24 PRs merged to public career-ops · member of the career-ops-hq org

Candidai

Active · 24 PRs merged to public career-ops · member of the career-ops-hq org ]

A native, multiplatform AI career-intelligence engine, and the open-source project it's built on.

A local-first job-search engine rebuilt from scratch in Kotlin Multiplatform: resume onboarding, reverse-ATS discovery, evidence-based fit scoring and tailored résumés. Its scoring engine is ported and verified against the open-source career-ops project I actively contribute to upstream.

Kotlin Multiplatform25 modulesOpen-source contributor
built onkmp-build-logickmp-toolkit
STUTTER: In development · private repo, public case study

STUTTER

In development · private repo, public case study ]

A first-person time-loop game about a moment someone could not let end.

Godot 4.7 in GDScript. A deterministic echo-replay spine powers cooperative echoes, ghosts, and boss desync from one system, with recorded input intent replayed through the same physics step. Built solo as an AI-orchestrated dev crew.

Godot 4.7GDScriptTime-loopSolo + AI dev crew
View case study →
SINC-P: Active · AGPL-3.0 · UGC 2023-compliant

SINC-P

Active · AGPL-3.0 · UGC 2023-compliant ]

A statutory student-grievance redressal system, built to survive a UGC inspection rather than a demo.

Next.js 16 over Postgres with row-level security, rewriting a 2019 MANIT Bhopal final-year project (a downloaded complaint-box template, categories still reading E-commerce and Online Shopping) into a real compliance system: a statutory SLA clock, a hash-chained append-only audit trail, and published closure-time transparency with no login required.

Next.js 16Postgres RLSUGC 2023

// background

Experience

Consulting Engineer, Platform & AI @ Neev Consulting

April 2026 - Present
  • Agentic ERP: 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.
  • Platform: 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.

SDE-2, Android & Product Owner @ Dice.tech

June 2023 - Present
  • Platform Ownership: Own the Android platform end to end, a ~964k-LOC Kotlin app serving 50,000+ MAU, as both technical owner and Product Owner. Set the module architecture, release process and review standards the team builds against.
  • Scope: Owned requirements as well as delivery on the same platform. Here they are one job, not a handoff. Sprint planning, feature and code allocation across the team, review, release, deployment, and the crash dashboard the morning after. The platform work is deliberately the kind other people build on: a new client ships without anyone writing UI code, nobody forks the app to brand it, and every release goes out through the pipeline.
  • Team: Led interview loops and helped hire onto both the frontend and the React Native mobile teams; mentored a junior engineer from Flutter to production Kotlin, Java and React.
  • Mentorship Outcome: That engineer now manages this app at the company that acquired it.

Software Engineer, Android & Vertical Owner @ Jugnoo / Tookan / Jungleworks

January 2021 - May 2023
  • Multi-Tenant Platform Ownership: Owned 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. Joined a nine-year-old codebase seven years in, and became one of its primary maintainers.
  • White-Label Platform, Productising Variation: Built a per-tenant flavour system (build config, resource overlays, isolated storage and branding) so 150+ clients ship from one codebase across the customer and driver apps, rather than a fork per client. Cut per-client delivery time 80%.
  • Product-Line Ownership: Owned both the requirements and the implementation for the P2P carpool, trucking, e-bike and super-app verticals, writing the specs I then had to build.
  • Payments at Scale: Implemented Razorpay, Stripe, Beyonic and HyperPay gateway integrations across checkout flows; built Stripe 3DS payment retry/recovery handling and a corporate-account KYC verification flow from scratch.

GET Intern @ John Deere India

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

B.Tech, Computer Science & Engineering @ NIT Bhopal (MANIT)

2017 - 2021

// not a PDF with a pulse

This site is a live demo

A running program, not a slide deck: Eight interactive rooms, each a small proof of the engineering above — plus 19,000 rated and casual chess games, mined and analysed at build time. The chess finding was not flattering: 41.5% of my decided games ended on a clock, not on a board.

Proof

the numbers, and what verifies them

Things that run

real programs, in the page

Corpus

long records, read as evidence

// before the code

The Ink

Before the Android work there were three years of a college magazine and a literary society — English Editor, then Joint Chief Editor of a 128-page edition shipped entirely remotely. Five published stories, all readable here, and the pieces the board wrote about me. It's a different life, so it gets a different room.

"Three years, three parodies: the punster who over-thought everything, the editor who could not cut his own 25-page draft, and finally the one who held the fort, error-checking other people's work, absorbing the flak from other teams so his own did not have to, and refusing to abandon it in his final year. The last one is still the job description."
Open to remote (worldwide / India) and hybrid in Pune / Bengaluru

Hiring for a senior Android role?

Ask my AI assistant anything about my work, or reach out directly. I reply fast.

Let's talk

siddharthpandalai990@gmail.com

// one codebase

Resize the device, not the screenshot

These are the real Kotlin Multiplatform builds, compiled to Wasm and served from this domain. Drag the width and the Compose layout re-flows at the same window size classes the code branches on.

412dp× 892dp
compact · < 600dp

Gaddi · Phone · 412×892dp · compact · shown at 40%

// on the store

Apps you can install

Shipped Android work, live on Google Play. Every rating and install count below was read from the listing itself, not quoted.

…and 170 more, under other people’s names

The Jugnoo rider and driver apps were a white-label platform: every client got its own build of the same codebase, its own branding, and its own listing on Play under its own company. I worked on it for two and a half years and never had a list of what came out of it — so I put one together, and kept only the apps the store itself shows were still shipping while I was there or after.

173
apps reached the store
47
companies published them
≥ 2.9M
installs across the live ones
See all 173 apps, and how the list was rebuilt

// the source

It's all public

The libraries the apps share, the tooling around them, and the upstream PRs: open, and one click away. The numbers are pulled from each repo, not typed by hand.

@darkpandawarrior

Shared foundation

written once, reused across the apps

Doori, PaymentsLab-KMP, Candidai and Gaddi aren't four isolated demos. They're four KMP apps sitting on a common foundation I built and maintain separately. All four pull in my own convention-plugin and MVI-base libraries as composite builds, so the build wiring and the unidirectional-state contract are written once and reused, exactly the platform discipline I bring to a codebase at scale.

// tech stack

Skills

Filter by area, spin the orbit, or just hover the cloud.

Jetpack Compose + Material 3MVVM + Clean ArchitectureMVI / single UiStateModular architectureRepository patternKotlin/Compose MultiplatformDynamic theme enginesKotlin CoroutinesFlow / StateFlow / SharedFlowRoom (SQLite, 24 migrations · 2 DBs)DataStore + WorkManagerRetrofit + OkHttp (REST APIs)Android SDKLocation engineering (dead reckoning + Kalman)Foreground servicesHilt / Dagger (dependency injection)Firebase Crashlytics + Sentry + MixpanelCross-functional collaborationMentoring & hiring loopsCode review standardsAgile sprint planningAndroid Keystore field-level encryption (AES-256)SSL pinning (9 domains, 5 SHA-256 pins)BiometricPrompt access gateEncryptedSharedPreferences / DataStore + TinkFastlane CI/CD · AGP 9 · Gradle KTS · GitAgentic workflows (Firebender, MCP)

// how the board wrote me

EB Profiles

Three years on MANIT's Editorial Board closed each edition with EB Profiles: every member gets one question, answered by a teammate impersonating them. Affectionate, unsparing, and not written by me, which is the only reason they're worth reading. Trimmed here to keep other people's names out of it; each card opens the scanned page it came from.

The magazine these came from, and the societies around it, are at The Ink.

frequently asked

What does he do at Dice.tech?

SDE-2, Android & Product Owner at Dice.tech (June 2023 - Present), platform owner of the app behind 50k+ monthly active users (22k+ daily, platform owner at Dice.tech). See the source.

What did he do to improve GPS accuracy?

Took GPS accuracy to 95%: up from 50%, by predictive dead reckoning. See the source.

How did he reduce production crashes?

80% crash reduction: Crashlytics + structured concurrency fixes. See the source.

How much of the app is Jetpack Compose?

~87% of the UI layer: 455k of 523k UI-layer LOC, verified screen by screen against the legacy XML. See the source.

Where did he study?

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

What is the Neev Consulting role?

Consulting Engineer, Platform & AI at Neev Consulting (April 2026 - Present). 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. See the source.

What is Doori?

Doori: Offline-first mileage, travel & expense tracker on one Kotlin codebase across Android, iOS, Wear OS, watchOS & Desktop. See the source.

What is Gaddi?

Gaddi: A Hinglish social-deduction bluffing game of power, satire & second chances. Gaddi ke liye kuch bhi karega. See the source.

What is PaymentsLab-KMP?

PaymentsLab-KMP: An Integration Lab for the Android payments ecosystem: every gateway behind one abstraction, with a live look at what actually happens on each transaction. See the source.

What is Candidai?

Candidai: A native, multiplatform AI career-intelligence engine, and the open-source project it's built on. See the source.

Does he write, outside of code?

Yes: The Loopdown, his field-notes writing hub, where the recurring bug characters are named after real production incidents. See the source.

What's he like to work with?

Answered by his own teammates, not by him: see the EB Profiles, one question per member, in their own words. See the source.

Is he available, and how do I reach him?

Open to remote (worldwide / India) and hybrid in Pune / Bengaluru. Email siddharthpandalai990@gmail.com. See the source.

What has he contributed outside employer work?

Shared Kotlin Multiplatform libraries used across his own apps, plus merged upstream pull requests on career-ops: see the repos and the running count. See the source.

Has anything he's built shipped for real?

Yes: see the Play Store shelf for the apps that are actually live and installable, not just source. See the source.

What can I try on this site besides reading it?

Every route on the site, as a tile you can open: 3D builds, labs and canvases, not screenshots. See the source.