TL;DR; Mostly 404 otherwise figuring out solutions or next problem to solve.

LinkedIn . Github . Twitter . My recent clicks . 500px

Key area of expertise

Area Remarks
Applied ML Language Model, Document Understanding, Model training pipelines / infra
Camera Particularly Android App side, Camera2, Good knowledge of ISP pipeline
Computer Vision Primarily around Camera needs, Night Mode, HDR imaging
Android Performance JNI, Native, Android Image processing, Real-time processing (OpenGL), Renderscript, Tflite inference on device
Android Memory Android Internals, Java and Native memory, ION memory manager
Distributed Systems High Availability, Resilience & Robustness

now()   Staff Software Engineer (TLM) at Google

⚓ Singapore, May 2019 to present

Android

I am Tech Lead and Manager for multiple projects in Android including QR scanner, barcode decoder, Document Scanner, Files by Google etc. Working hard building a solid applied ML/vision team at Google :).

Past: Camera from Google

I lead computational photography features like HDR, Low light imaging (night mode), portrait mode in Camera from Google. It’s an exciting project which requires building best in “segment” computational photography algorithms improving image quality on less than ideal hardware while being able to process millions of pixels under low latency on rather low-end devices.

My primary area of focus have been around optimizing the app to run feasibly on low CPU, low RAM devices, but these days I spend a fair share of time improving image quality of HDR.

  • Leading a team building computational photography features in Camera from Google app, our feature portfolio includes Night Mode, HDR Mode, Portrait Mode (real time and post processing) & Face Enhance.
  • Led launches of features like Night Mode and HDR that run on devices with as low as 1Gb ram & low CPU specs.
  • Designed and implemented the processing pipeline responsible for scheduling processing of multi-stage image processing on resource-constrained devices.

TIL: Did you know a 1Gb Android device only has ~880Mb of available RAM of which only about ~450 Mb is left for applications to run on? Learn about carveout memory in Linux

Areas I work on these days

  • On device ML, Applied ML, document understanding
  • Android, Android Fundamentals, Android Camera, Android storage
  • Linux Fundamentals, Memory management in Android
  • Computational Photography, Image Processing

now(/* index= */ -1)   Software Engineer II at Microsoft

🇮🇳 Hyderabad, India, June 2016 to May 2019, ~3 years

Worked primarily with Microsoft Azure. My day to day involved applied data science, Azure cloud services, distributed systems, and some part of Azure UI. My team was working on an intelligent alerting platform in Azure on features like Smart Grouping capable of automatically grouping user alerts from different sources to reduce mean time to mitigation for customers.

  • Led design and implementation of 99.99% available Azure Alerting platform (4 9s of availability). The effort centered around making the service resilient to regional datacenter outages,
  • Led design and implementation of alerts correlation service that could group similar Azure alerts to surface relevant alerts to customers and reduce noise.
  • Awards:
    • 1st prize (Microsoft wide) in the annual hackathon in the Universal Windows App category. The project involved HoloLens and IoT.
    • Runner ups in short paper presentation in Synapse - AI Meet 2017 (Microsoft IDC).

Did you know 99.99% availability means only acceptable downtime of only 4m 23.0s per month :O

Areas I worked on:

  • Applied ML, Unsupervised Learning, Bayesian Networks, Knowledge Graphs
  • Distributed Systems, Systems design, High Availability

now(/* index= */ -2)   All roles @Todofy

Built in my hostel room @New Delhi, Delhi Technological University, ~6 months in 2015

Todofy was an ambitious project to organize more than 100 million TODOs present in Github codebase at the moment. The goal was to build a platform to add life-cycles for those todos and get them to completion and collaborate on them. See mebjas/csrf-protector-php for example. I built this from scratch in the final year of my engineering and hence my roles involved that of an Engineer, Product Manager, PMM, TPM, UX, UXR, and so on. I still feel the problem exists and this could be rebuilt with a much more matured design probably as a PaaS service if not SaaS solution and could leverage the huge corpus of data on Github to make it super powerful.

Open Source Contributions

HTML5 QRCode | Author, Maintainer | Since 2014

Star Fork Sponsor Issue

It’s a QR code reader for the web, built on vanilla js works for different frameworks, operating systems and platforms. Check demo here. Getting more traction everyday!

OWASP CSRF Protector | Author, Lead Maintainer | Since 2014

Star Fork Sponsor Issue

Author and main maintainer of this OWASP project since 2014. This project started with my participation in Google Summer of Code with OWASP in 2014 under the mentorship of K. W. Walls and Abbas Naderi. Read more about the project in the OWASP Wiki.

OWASP CSRF Protector Project is an effort by a group of developers in securing web applications against Cross-Site Request Forgery, providing a PHP library and an Apache Module (to be used differently) for easy mitigation.