Research software (as a Ph.D student):
1. PFIS-V: Modeling programmer navigations among variants:
Back when Mozilla and Intel were working on Parallel JS, I worked on understanding patterns to parallelize JS applications. We abandoned this line of work after Mozilla abandoned the line of research.
Professional software (as a developer at Thoughtworks):
1. Org Structuring Tool – I: (Jul 2011-Jul 2012)
Worked on an organization restructuring tool for a Big Three firm. It was a desktop application, dealing with large and complex hierarchical (actually matrix organizations, which was criss-cross hierarchy) data and rollup calculations. The tool had a complex search and also interfaced with their in-house tools.
Tech stack: WPF, C#, SQL Server (a desktop app). NAnt / MSBuild / Powershell for build. NUnit for unit tests and White for UI tests.
2. Org Structuring Tool – II: (Aug 2012- Dec 2012)
This was a web application with features similar to the prior tool. It was a single page web app and handled complex data and rollup calculations (even on IE8). This tool interfaced with one person’s desktop tool. I worked on the project from its inception and performed the initial spikes and requirements workshops.
3. Retail logistics and supply chain: (Jan 2013-May 2014)
This was a large program for an antibody production and retailing company with a global presence. I worked on their logistics software, which involved revamping the systems that dealt with processing customer orders, buying and aliquoting stock, stock management and restocking and forecasting systems. This project involved revamping legacy monolithic system to a services-based architecture and accounting for expanding businesses.
- Stock management — restock products, packaging to retail sizes, forecast needs, balance stock across warehouses, managing and serving their customer orders.
- Restrictions — System for managing federal regulations governing antibody sale across the world.
- Product recommendation system: I did a proof of concept for a recommender system based on both user-user and item-item similarity.
Tech Stack: C#, ASP.Net MVC, NHibernate for ORM, SQL Server database, R for recommendations.
This was also a program for one of Europe’s large retail chains. I worked on the project that helped the retailer manage their promotions. This also involved rewriting mainframe legacy systems to a microservice architecture.
Tech stack: Java microservices (DropWizard), Ruby on Rails web app, Backbone.js for client-side MVC.
- Sabdakosha: An Android Sanskrit dictionary app.