- Sole owner of the mobile line for an enterprise HRMS/ERP suite — built and maintain Zeta ESS and a POS application solo on both stores, serving ~100 client organisations and ~5,000 employees.
- Own release engineering — Codemagic pipelines for signed iOS and Android store builds, GitHub Actions deploying the Angular and .NET Core build outputs to IIS, and Shorebird code push cutting Dart-layer hotfix turnaround from a two-day store review cycle to under ~10 minutes.
- Act as cross-stack escalation beyond mobile, picking up Angular front-end and SQL Server work during P1 support tickets and release crunches to keep team delivery commitments on schedule.
I own the whole path — API contract to signed store build.
I'm a software engineer in Kochi, Kerala. I run the mobile line of an enterprise HRMS/ERP suite at Zeta Software — two apps on both stores, around 100 client organisations, around 5,000 employees — plus the release pipelines that put them there. Before that, a jewellery ERP mobile client at Gramboo Technologies.
Ask this page
BM25 retrieval over the résumé, running in your browser — the same design as the HR assistant in Zeta HRMS below. It classifies your intent, shows the passages it scored, and refuses to answer when confidence is low.
Ask a question and the answer arrives with its receipts: the classified intent, a confidence score, and the ranked passages it came from — highlighted where your terms matched.
Experience
Two roles. Both times the only mobile developer.
Small teams, no separate release engineer, no dedicated QA. The scope below is what I held on my own.
- Shipped the mobile client for a jewellery ERP add-on suite to iOS and Android in a five-member team — order management, sales estimation and inventory modules in production.
- Took features from API contract negotiation with the backend team through peer-reviewed PR to store release.
- Owned the full release path as the only mobile developer — signing, store listings, phased rollout and crash triage — with no dedicated QA or DevOps support.
- Gathered requirements directly from shop-floor staff and translated jewellery retail counter workflows into app flows, without a product manager in between.
Selected projects
Three products, three different constraints.
One binary that has to serve every tenant, one order book that has to survive a dead venue network, and one chat room you can only enter by standing in it.
- Runtime multi-tenancy: the client organisation resolves at session start and swaps API base, theming and feature access without a rebuild, so a single binary serves every tenant instead of per-client build forks.
- Employee self-service across leave, payslips, shifts, expense claims and directory with a manager approval queue — plus geofenced attendance punching that validates device location against tenant-configured site boundaries and handles mock-location injection and boundary-edge cases explicitly.
- An HR and employee assistant with no LLM in the loop — intent classification over BM25 retrieval, deterministic slot filling, and a calibrated reject option routing unanswerable queries to HR, holding per-conversation inference cost at zero.
Jewellery Order Management
Offline-first · B2B- Offline-first order capture built for B2B jewellery exhibitions, where ~10,000 attendees saturate the venue network. Orders are written to Sqflite and reconciled server-authoritatively, so sales staff keep booking through dead connectivity.
- Server-side pagination, search and filters with fetched pages cached in Riverpod providers, replacing full-list fetches that degraded as order volume grew. In-app query windows over orders and inventory, with Excel export and share.
- MVC client with Riverpod state over JWT-authenticated Express APIs on AWS and MySQL, with Firebase FCM for order status updates.
SpotFeed
Realtime · Geofenced- Ephemeral, location-scoped group chats — PostGIS radius queries gate room membership to users physically inside the zone, and message history auto-expires after six hours.
- Realtime messaging over Supabase channels, with FCM push for backgrounded clients.
Technical skills
The stack behind the work above.
Languages
Dart Python JavaScript SQL C / C# HTML / CSS
Frameworks
Flutter React Angular Node.js .NET Core
Databases
PostgreSQL SQL Server MySQL Redis Firestore SQLite
Cloud & DevOps
AWS IIS Docker CI/CD — Codemagic, GitHub Actions Shorebird
AI
RAG — pgvector, BM25 retrieval MCP Prompt engineering