Mritunjay Saha

React Native & React Engineer

I build and ship production mobile and web products with React Native, React and TypeScript.

4 plus years
Years Experience
30 thousand plus
Monthly Installs
2,200 plus
Daily Active Users
500 plus
Daily Orders

Flagship Product

Plazza

Medicines in Minutes

Built and shipped the consumer mobile application for instant medicine delivery across Android and iOS — from MVP through production releases.

React Native · Expo · React.js · TypeScript · Redux Toolkit · WebSockets · Firebase Analytics · Firebase Crashlytics · Metadex

Platform: Android · iOS

Build & Distribution: EAS Build · EAS Updates · Google Play · App Store

Capabilities: REST APIs · Push Notifications · Deep Linking

30 thousand plus
Monthly Installs
2,200 plus
Daily Active Users
500 plus
Daily Orders
3 lakh rupees plus
Daily GMV
Plazza search screen for finding a delivery location
Plazza search screen for finding a delivery location
Plazza home screen with medicine categories, search, and 30-minute delivery estimate
Plazza home screen with medicine categories, search, and 30-minute delivery estimate
Plazza checkout bill summary with delivery address and order total
Plazza checkout bill summary with delivery address and order total

Case Study

Plazza — Medicines in Minutes

Software Developer (React Native), May 2025 – August 2026. Consumer app from MVP to production, plus the React Store Dashboard.

Overview & Architecture

System Architecture

Plazza is an instant medicine delivery platform operating across Android, iOS, and store operations. The consumer app is built with React Native, Expo, and Redux Toolkit, backed by EAS updates for rapid production releases. Store operations run on a dedicated React.js dashboard synchronized over WebSockets.

Consumer app

React NativeExpoTypeScript

State

Redux Toolkit

Integrations

REST APIsPush notificationsDeep linking

Observability

MetadexFirebase AnalyticsFirebase Crashlytics

Release

EAS BuildEAS UpdatesPlay StoreApp Store

Operations

React.js dashboardTypeScriptTailwind CSSWebSockets

Consumer app on React Native and Expo. Store operations run on a separate React.js dashboard with WebSockets. Commerce features integrate over REST APIs.

Product Experience

Commerce

A complete mobile commerce flow — from discovering medicines to placing an order and following it through delivery.

  1. 01Discover
  2. 02Search
  3. 03Product
  4. 04Cart
  5. 05Checkout
  6. 06Order
Plazza home screen with medicine categories, search, and 30-minute delivery estimate
Plazza home screen with medicine categories, search, and 30-minute delivery estimate
01

Discover

Browse medicines, categories, and availability with delivery expectations visible from the start.

02

Search

Find medicines quickly through search and location-aware discovery.

Plazza search screen for finding a delivery location
Plazza search screen for finding a delivery location
03

Product

Inspect medicine details, pricing, and availability before adding to the cart.

Plazza medicine details screen for Cofsils lozenges with pricing and add to cart
Plazza medicine details screen for Cofsils lozenges with pricing and add to cart
Plazza cart screen showing items, savings, and place order
Plazza cart screen showing items, savings, and place order
04

Cart

Review items, savings, and the order before moving into checkout.

500 plus
Daily Orders
3 lakh rupees plus
Daily GMV
05

Checkout

A focused checkout flow for confirming address, payment, and the final order total.

Plazza checkout bill summary with delivery address and order total
Plazza checkout bill summary with delivery address and order total
06

Order

Once placed, the commerce journey continues into real-time order tracking.

Plazza order tracking screen showing successful delivery
Plazza order tracking screen showing successful delivery

What I owned

  • End-to-end commerce flows across Android and iOS
  • Product discovery, search, cart, checkout and payments
  • Order tracking and post-purchase experience
  • Production release, analytics and crash monitoring

Plazza Store Dashboard

React.js · TypeScript · Tailwind CSS · WebSockets

Store Hub: Koramangala Central #04WebSocket Live
3.2 min
Avg Dispatch Time
524
Dispatched Today
99.1%
15-Min Delivery SLA
Real-Time Dispatch Queue3 Active Orders
PLZ-8492NEW
Augmentin 625 Duo (1x) · Pan-D (1x) · ORS Pro (2x)Indiranagar, 100ft Rd · 1.2 km
Amount: ₹6800:35s ago
PLZ-8488PACKED
Cofsils Orange Lozenges (2x) · Dolo 650 (1x)Koramangala 4th Block · 800m
Amount: ₹2152m 10s ago
PLZ-8481DISPATCHED
Accu-Chek Active Strips (50s) · Shelcal 500 (1x)HSR Layout Sector 1 · 2.4 km
Amount: ₹1,1204m 45s ago

Sanitized production simulation with synthetic data (Internal store operations tooling built with React.js, TypeScript, and WebSockets). Built an internal dashboard with React.js, TypeScript, Tailwind CSS, and WebSockets for order dispatch workflows. Store teams could see and act on orders in closer to real time.

Engineering Deep Dive

Architectural Deep Dive

Metadex: Solving Schema Drift & Event Drops in High-Velocity Quick Commerce

Designing an isolated, offline-buffered analytics SDK for React Native to eliminate UI jank and provide 100% conversion funnel telemetry.

UI Action→TypeScript Contract→Debounced Ring Buffer→AsyncStorage FIFO Queue→Network / AppState Flush
Context & Scale
The Multi-Platform Dilemma

At Plazza (30K+ monthly installs, 2,200+ DAU, ₹3L+ daily GMV), conversion data was split between the React Native consumer app and a React web store operations dashboard. As feature velocity accelerated, ad-hoc logging calls scattered across components caused severe schema drift, missing drop-off events, and inconsistent naming between platforms.

Performance Bottleneck
Bridge Contention & Dropped Telemetry

During rapid cart manipulations—such as quantity toggles and real-time AI prescription item extraction—synchronous event logging calls competed for the JavaScript bridge. On budget Android devices, this caused noticeable UI micro-stutters during time-critical checkout actions. Furthermore, customers on unstable cellular networks lost entire event batches when the app was closed before Firebase flushed.

Rejected Alternatives
Evaluated & Discarded Alternatives
  • Ad-hoc Firebase Helper Functions: Failed to enforce compile-time schema validation; event names and payloads drifted across releases.
  • Direct Redux Middleware Logging: Triggered an analytics dispatch on every single state mutation, flooding the JS bridge during animations.
The Architectural Solution
Three Pillars of Metadex
  • Strict TypeScript Event Contracts: Centralized typed event catalog requiring strict payload contracts for core commerce transitions (cart_updated, prescription_reviewed, order_dispatched).
  • Debounced In-Memory Ring Buffer: Rapid item quantity increments and decrements are debounced in memory, coalescing rapid UI changes into discrete, meaningful events to protect the 60fps frame rate.
  • Durable Queue & AppState Lifecycle Flush: Events persist to an asynchronous FIFO queue in local storage, automatically batching and flushing over network reconnections and app backgrounding hooks (AppState).
Verified Outcomes
Production Verification & Impact
  • ✓100% schema alignment across Android and iOS production releases
  • ✓Zero measurable frame drops during rapid cart interactions on low-end test devices
  • ✓Full funnel visibility from prescription upload to store dispatch and delivery
Technical Retrospective

The initial version wrote full event payloads to storage synchronously on every dispatch, which caused brief storage I/O contention during prolonged offline sessions. I resolved this by introducing an in-memory batch coalescing layer and capping local offline queue depth to 500 records.

Production & Release Cadence

Store Release & Crash Observability

Managed store releases across Google Play and Apple App Store. Monitored Firebase Crashlytics to maintain a 99.5%+ crash-free user rate on Android and 99.9%+ on iOS. Utilized EAS Update for instant OTA JavaScript patch deployment without waiting for full review cycles.

Live Store Availability

The consumer app is live and active on both primary mobile app marketplaces.

React Case Study

Password Manager Chrome Extension

A React and TypeScript Chrome extension for autofill, login, and credential updates.

React · TypeScript · Webpack

At Ziroh Labs, I engineered an enterprise Password Manager Chrome Extension in React.js, TypeScript, and Manifest V3. The system solved two critical enterprise security constraints: zero-exposure credential injection on hostile web surfaces, and stateful session preservation across ephemeral browser service worker lifecycles.

AutofillAuthenticationCredential management
🔒https://auth.enterprise-workplace.internal/login
🔑 1
Vault Session Active (AES-256)
Auto-lock in 15m
enterprise-workplace.internal1 Matched Login
Accountmritunjay@enterprise.io
Password••••••••••••••••
Last Updated14 days ago (Strong)

Sanitized production simulation with synthetic data (Enterprise Chrome extension built with React.js, TypeScript, and Chrome Extension APIs).

Problem

Enterprise users required seamless browser autofill and auto-login without exposing secrets to hostile DOM environments. The core technical hurdle was twofold: protecting decrypted credentials from malicious host page scripts actively inspecting input DOM nodes, and maintaining authenticated session states when Chrome's MV3 runtime aggressively terminates inactive background service workers every 30 seconds.

My role

Led frontend architecture and Chrome Extension engineering: designed the React/TypeScript popup and inline fill triggers, implemented the isolated-world content script injection bridge, and engineered the background worker session re-hydration mechanism.

Architecture

  • Manifest V3 architecture enforcing strict boundary separation between ephemeral service worker, isolated-world content scripts, and React popup UI
  • Session token lifecycle management utilizing volatile chrome.storage.session paired with native client cryptographic key exchanges
  • Content script DOM isolation layer using Shadow DOM boundaries to inject non-tamperable autofill action chips into target input fields
  • Origin-validated messaging protocol with typed RPC contracts between content scripts, runtime background, and web vaults
  • Context API session bus coordinating auth state and vault synchronization across multi-tab browsing sessions

Key flows

Autofill & Shadow DOM Isolation

Detected login and registration fields via MutationObservers, injecting isolated Shadow DOM triggers. Decrypted credentials were only delivered on explicit user intent, bypassing page-level keyloggers.

Anti-Scraping Credential Injection

Injected values directly via untampered HTMLInputElement.prototype property setters within isolated execution contexts, bypassing malicious host script overrides and prototype pollution.

MV3 Session Keepalive & Recovery

Handled background worker sleep cycles gracefully by storing ephemeral, non-extractable session handles in chrome.storage.session and re-authenticating seamlessly on worker wakeup.

Auto-login & Credential Capture

Intercepted legitimate form submissions to prompt for vault updates and rotated credentials without leaking unencrypted form data into host page execution scopes.

Decoupled Vault Unlock

Multi-factor authentication and vault unlocking through a decoupled React popup communicating via encrypted runtime message ports.

Core Technical Challenges

  • Defeating DOM Scrapers: Host scripts often hook addEventListener('input') or overwrite DOM element prototypes to steal injected credentials. We executed autofill in isolated worlds and used untampered DOM prototype setters to inject values safely without notifying third-party page trackers.
  • MV3 Ephemeral Lifecycle Survival: Because Manifest V3 terminates background service workers after 30 seconds of inactivity, memory state is wiped. Rather than unsafely writing decrypted vault keys to disk, we persisted ephemeral encrypted session tokens to volatile in-memory storage (chrome.storage.session) with just-in-time worker re-hydration.
  • Shadow DOM UI Boundaries: Rendered the extension's interactive autofill badges within closed Shadow DOM roots on host pages, completely isolating our styles and interactive buttons from host CSS collisions and script access.
  • Cross-Surface State Synchronization: Leveraged typed runtime messaging and CustomEvent bridges to coordinate vault state between active browser tabs, the extension popup, and background workers in real time.

Security considerations

Zero plaintext credential exposure. Decrypted credentials were never held in persistent browser storage or accessible to the host page's global window object. Credential fills required explicit user gesture verification, and all inter-context communications enforced strict origin checks, CSP headers, and sanitized message boundaries.

Outcome

Shipped an enterprise-grade Chrome extension deployed to corporate users across Ziroh Labs' security suite, delivering sub-50ms autofill latency with zero session drops during MV3 background worker eviction cycles and zero credential leakage to host page scripts.

Production Mobile Apps

Zero-knowledge security & high-performance mobile systems

Zunu Message and Zunu Notes are production React Native applications engineered at Ziroh Labs.

React Native · C++ Native Modules

Zunu Message

Problem

Third-party JavaScript cryptography libraries blocked the single-threaded JS runtime for 200ms+ during payload encryption on budget mobile hardware.

Role

Led React Native frontend development and built native C++ cryptographic bridge modules.

Engineering

Engineered custom Native C++ modules and JNI bridges for zero-knowledge encryption off the main thread, maintaining fluid 60fps UI gestures.

Outcome

Reduced payload encryption latency by 75% and eliminated main-thread frame freezing during secure messaging.

React NativeTypeScriptC++ Native ModulesZero-Knowledge Crypto
React Native · NativeWind

Zunu Notes

Problem

Rendering deeply nested board hierarchies and interactive markdown notes caused severe frame drops (down to 25fps) and memory bloat on low-memory Android devices during rapid board switching and drag-and-drop card reorganization.

Role

Architected the React Native mobile application with NativeWind, engineering the virtualized multi-column board layout, background markdown tokenization, and optimistic offline SQLite synchronization.

Engineering

Engineered custom virtualized list windowing for dual-axis board scrolling, offloaded heavy markdown parsing to native background threads, and implemented optimistic local state updates with conflict-free SQLite persistence.

Outcome

Achieved solid 60fps board panning and sub-100ms note retrieval across low-end and flagship devices, reducing memory consumption by 40% during extended editing sessions.

React NativeTypeScriptNativeWindSQLiteOffline Sync

Experience

Employment

Two production roles: Plazza and Ziroh Labs.

May 2025 – August 2026

Software Developer (React Native)

Plazza · Bengaluru
  • Led end-to-end development of the consumer app from MVP to production, supporting 30K+ new installs/month, 2,200+ DAU, 500+ daily orders, and ₹3L+ daily GMV.
  • Built core commerce flows including authentication, product discovery, search, checkout, payments, order tracking, push notifications, and deep linking across Android and iOS.
  • Designed and developed Metadex, an in-house analytics SDK that standardized event tracking and integrated with Firebase Analytics.
  • Managed Play Store and App Store releases, maintaining 99.5%+ crash-free Android users and 99.9%+ crash-free iOS users.
  • Built an internal Store Dashboard with React.js, TypeScript, Tailwind CSS, and WebSockets to streamline order dispatch.
June 2022 – April 2025

Member of Technical Staff (Frontend Developer)

Ziroh Labs · Bengaluru
  • Led frontend development of Zunu Message, a zero-knowledge encrypted messaging application built with React Native and TypeScript.
  • Developed a secure Password Manager and Chrome Extension using React.js and TypeScript, including browser autofill, credential management, and authentication workflows.
  • Developed native modules for cryptographic operations and push notifications, improving performance and reducing third-party SDK dependency.
  • Designed onboarding, custom SSO, and profile flows, improving new-user activation by ~25%.
  • Spearheaded Zunu Notes, a cross-platform note-taking app using React Native and NativeWind.

Education

B.Tech, Computer Science & Engineering

North Eastern Regional Institute of Science & Technology (NERIST), Arunachal Pradesh
2018 – 2022 · CGPA: 9.32/10

Services

Work with founders and product teams

An engineer available to build, extend, and stabilize React Native and React products — not an agency.

React Native Development

Production Android and iOS apps with React Native, Expo, and TypeScript — including Play Store and App Store release workflows.

MVP Development

Turn a product idea into a working mobile or web MVP, including prescription/AI-assisted flows where the product needs them.

Existing App Development

Add features, fix bugs, and modernize apps already in production, including Firebase analytics, crash reporting, and store updates.

Performance & Reliability

Debug crashes, improve performance, and strengthen production reliability with Crashlytics monitoring and release cadence.

Architecture & Technical Consulting

Practical React and React Native decisions on state, analytics, EAS builds, and release structure.

Technology

React Native, React, and TypeScript

Technologies from the resumes, grouped by how they show up in the work.

Mobile

React NativeExpoExpo RouterEAS

Frontend

ReactTypeScriptJavaScriptHTMLCSS

State & Data

Redux ToolkitZustandREST APIsWebSockets

Backend

Node.jsExpress.js

Tooling

ViteWebpackGitPostman

Production

Firebase AnalyticsFirebase CrashlyticsApp StoreGoogle Play

About

Mritunjay Saha

4+ years shipping production mobile and web applications.

4+ years building production software
React Native, Expo, React, and TypeScript
Shipped Play Store and App Store releases
Startup product teams, features owned end-to-end

I am a software engineer specializing in React Native, React, and TypeScript. I have spent 4+ years building and shipping consumer applications across mobile and web in startup product teams.

At Plazza I owned the consumer React Native app from MVP to production — commerce flows, store releases, crash monitoring, and analytics — for 30K+ monthly installs and 2,200+ daily active users. I also built the internal React Store Dashboard used for order dispatch.

At Ziroh Labs I shipped React Native products (Zunu Message, Zunu Notes), native modules for cryptography and push notifications, and a React/TypeScript Password Manager Chrome Extension.

I am comfortable owning features end-to-end, working across frontend and backend boundaries, and collaborating directly with founders and product teams. Available to work with startups on React Native, React, and TypeScript products.

Contact

Let's work together

Tell me about the product, the stack, and the timeline. I typically respond within 24 hours.

Available for freelance and product-team work
Response within 24 hours

Prefer direct communication?

Reach out directly without forms. I review inquiries personally and respond within 24 hours.

mritunjaysaha@outlook.com