Project Overview

  • This was the first time a financial / banking app in India had a search feature allowing one to treat the app like their personal financial assistant
  • It was exciting to work on this product feature, learning user behaviour in terms of engagment patterns, their most common intents, their preference for customer care and so on
  • My specific role here was to improve relevance, provide an evolution path for search and predict periodic search queries to suggest to users. The feature outcomes were user value, user engagement and user retention
  • While I have been involved in engineering and research processes at various stages of an ML product / service lifecycle in other roles, this project provided consistent and comprehensive ownership of almost every step in the process
  • This was majorly due to the lack of priors (product or literature) for this problem & solution pair and also the age of the company and product being new
  • So everything from metrics definition and data generation to modeling and testing infrastructure choices were parts of brining these features to life
  • As part of the research on this project, I discovered the versatility and utility of graph DBs for dynamic ML usecases and I became an advocate of this across more projects and usecases

Skills

Balancing user utility and business metrics

It's tempting to ship out the fanciest ML product there is, but does it really add value to users in a way easily consumable by a majority of them? And are these values also priortized by the business metrics we want to focus on? These are some of the questions I learnt to answer while formulating the plan, timeline and priortization for these features

Graph Databases

It was a great learning opportunity to try out the class of hierarchical, multi directional and rich relation representations that graph databases provide. NeptuneDB was the final choice for it's managed service nature and suitability with our infra stack. And this became an accelerator for us to provide rich features even in the absence of extensive ground truth to establish these relations

Deployment optimization for environment and speed

Being in a flat structure with non-modularized roles, I got to learn end to end optimizations involving gRPC vs REST (FastAPI), protocol buffers and security related conservativeness on the graph DB