Kerala, India · open to interesting problems
Senior engineer with 12+ years from native Android to Flutter everywhere and Rust underneath. I design the UI, write the backend, wire the printers, and run the Linux boxes it all deploys to.
Most "full-stack" stops at the API. Mine runs from pixels to bare metal — Flutter UIs polished for touchscreens and low-end LCDs, embedded Dart servers with double-entry accounting, Rust services compiled for ARM64, FFI bridges between the two, and the nginx + Docker infrastructure that serves them.
I started in 2013 with native Android, shipped a viral hit, published open-source libraries, then went deep into cross-platform. Today I'm Principal Consultant for Mobile at VAAS ITS, leading POS and ERP programmes and building highly optimized Flutter desktop applications.
I care about correctness where it matters: money stays in integer minor units, ledgers stay append-only, and offline-first isn't a buzzword — it's the default.
The areas where I do my best work — usually several of them at once on the same project.
Desktop-class Flutter for macOS, Windows and Linux — fast cold starts, jank-free tables with thousands of rows, and UIs tuned for low-end touchscreens and 720p LCDs, not just flagship phones.
Retail systems that survive the real world: double-entry ledgers, append-only stock movements, draft→posted voucher lifecycles, GST/VAT handling, and multi-terminal billing that keeps working when the internet doesn't.
From embedded Dart servers running inside desktop apps to Rust cloud services for licensing, activation and sync — typed, tested, and deployed on infrastructure I run myself.
Admin panels, dashboards and APIs that share one domain model with the mobile and desktop clients, so the whole product speaks the same language.
Thermal printers speaking raw ESC/POS, barcode scanners, cash drawers, weighing scales, customer displays — plus mDNS discovery so devices find each other with zero configuration.
Linux servers, nginx, Docker, CI/CD pipelines, code-signing, auto-updates and OTA patching — the unglamorous 20% that decides whether software actually reaches users.
Leading mobile architecture across multiple client programmes: point-of-sale and ERP solutions, highly optimized Flutter desktop applications for macOS, Windows and Linux, with NestJS + Angular on the web side and Dart & Rust services underneath.
Deepened expertise in native Android development paired with Python backend engineering — owning features from mobile UI down to the APIs that power them.
Led Android development across the company's product line — e-commerce, social and logistics apps — while doubling as the team's Linux server administrator.
Built and shipped client apps end-to-end with Firebase, Parse and Laravel backends. One of them — a WhatsApp sticker app — hit 260k downloads in 4 days and made the national press.
First industry role: product Android development plus training the next batch of mobile developers.
Product work, systems work, and the occasional internet moment.
Complete point-of-sale platforms for retail clients. One Flutter codebase shipping to macOS, Windows, Linux, Android and iOS; an embedded Dart server (Drift + SQLite) on the admin terminal with other terminals syncing over LAN — no internet required to trade.
Licensing, activation and sync backbones for desktop products. Rust with Postgres, containerised on ARM64 metal, deployed and operated end-to-end.
Enterprise resource planning systems for client businesses — NestJS APIs, Angular dashboards, and Flutter clients sharing one domain model across web, desktop and mobile.
Kotlin extensions library that strips the boilerplate out of the Android SDK. My most-starred open-source work.
The first Malayalam sticker app for WhatsApp. 260,000 downloads in the first 4 days, national media coverage, and a crash course in scaling under sudden load.
Networks fail. Billing counters can't. Local state is the source of truth; the cloud is a convenience, not a dependency.
Minor units, stored as integers, calculated with big numbers. Floats round; auditors notice. The frontend only formats — it never does math.
Profile before touching anything. The bottleneck is almost never where intuition says it is — and "feels faster" isn't a metric.
SQLite, nginx, plain SQL, proven frameworks. Innovation budget gets spent on the product, not on the plumbing.
Posted documents are immutable. Corrections are new entries, never edits. History you can't rewrite is history you can trust.
When one person understands the pixels, the API, the database and the server, problems get fixed in hours instead of sprint cycles.
Libraries and tools from the native Android years — 123 public repos and counting since 2013.
Kotlin extensions that strip the boilerplate out of the Android SDK. Published to Maven, used in production apps.
One clean API over AdMob and Audience Network — smart fallback between ad providers with a single integration.
Facebook and Google sign-in for Android without the ceremony — auth flows reduced to a few lines.
Battle-tested bootstrap for a fresh LEMP box — nginx, MariaDB and PHP-FPM configured in one run.
Product engineering, Flutter rescue missions, Rust backends, POS & hardware integrations — or just an idea worth arguing about.