Experience

REAL ESTATE PLATFORM — WEB APPS + DATA PORTAL
Tech stack
  • ReactJS (with TypeScript) & Redux
  • Node (with TypeScript) & ExpressJS
  • antD React UI
  • Jest & react-testing-library
  • Google Places API
  • Google Map Platform
  • AWS (EC2, RDS, Secrets Manager, Memcached, RabbiqMQ)
  • Redis
  • MongoDB
  • PostgreSQL (PostGIS, GraphileWorker)
  • MLS Data feeds integrations
  • SocketIO
Outline
A web platform directly competitor to Redfin and Zillow providing property listings in real time for different states. Along with property search refinement tools, product includes several other features to automate and smooth out the buy and sell transactions, integrations with third party service providers and smart forms + document sign flows
Role
Senior Software Engineer
Contributions
  • Implemented enhancements in chat message feature using SocketIO and antD components.
  • Layed out baseline structure for email notifications with custom UIs.
  • Implemented background scheduled jobs to trigger events & notifications in different business flows.
  • Integrated RETS MLS feeds by implementing a RETS client which adheres to RETS 1.7.2+ standard.
  • Integrated RESO MLS feeds with ability to sync data with in 5 minute buffer whenever there is a change in property on MLS.
  • Did performance tuning of MongoDB queries using aggregate pipelines and attribute based search patterns.
  • Did performance tuning of existing search APIs with the help of benchmarking of different modules in the system.
  • Implemented data versioning in mongo data and added capabilities to run data migrations on MongoDB via scheduled jobs.
  • Worked on google maps platform to implement property search upon map navigation, panning or scrolling supported by MongoDB geospatial queries.
  • Worked on geospatial queries for dashboard features in PostgresQL to show stats regarding properties in a geographic area.
  • Implemented REST APIs and UI components for dashboard feature.
  • Provided support to engineering team by removing road blocks, code reviews, releases and devising engineering practices

EDTECH PLATFORM — WEB APPS + SERVERLESS SYSTEMS
Tech stack
  • ReactJS (with typescript) & Redux ToolKit (RTK)
  • NodeJS (with typescript) & PostgreSQL
  • AWS (Multiple services)
  • AWS CDK
  • Jest for unit tests
  • Cypress (Integration Tests)
  • nx (monorepo management tool) & Webpack
  • Codefresh for CI
Outline
A EdTech platform which connects higher education institutes with the high schools and students via various portals.This engagement was mostly focused on serverless areas of the client's system to migrate functionalities from monolith to serverless services.Feature enhancements in existing web applications was also part of the job.
Role
Senior Software Engineer
Contributions
  • Worked Remotely with team which involves async communication and daily scrums.
  • Migrated existing features from PHP monolith to serverless services on AWS.
  • Implemented feature toggle (Launch Darkly) functionality in serverless apps using a caching store mechanism to minimize cold starts.
  • Did feature enhancements in existing web applications according to new school year requirements.
  • Investigated and developed scripts to do data rollover & migrations for school data on yearly basis.
  • Developed CI pipelines using Codefresh to ensure smooth code integration.
  • Ensured complete type safety using advanced concepts of TypeScript (utilities, generics etc.)
  • Made regular updates to the documentations on confluence with latest app flows.
  • Attended sprint ceremonies like sprint planing and retrospective with remote teams to increase agility & productivity.
  • Provided support to engineering team by removing road blocks, code reviews, releases and devising engineering practices

EDTECH PLATFORM — MODULE MODERNIZATION
Tech stack
  • ReactJS (with typescript) & Redux ToolKit (RTK)
  • NodeJS (with typescript) & PostgreSQL
  • AWS (Multiple services)
  • Launch Darkly
  • Jest for unit tests
  • Cypress (Integration Tests)
  • nx (monorepo management tool) & Webpack
  • antD UI library
  • Micro-component driven frontend architecture
  • Codefresh for CI & fluxCD for CD
  • Kubernetes for backend deployment
Outline
Project was to modernize some critical modules of client's platform. This migration involved usage of micro frontend architecture & proxy patterns to ensure that rest of the modules and systems stay intact. It also involved some features in the newer version of the modules. From setting up the pipelines to micro-component architecture, I was working as lead engineer with dev team who implemented and migrated the feature set in newer technology.
Role
Senior Software Engineer
Contributions
  • Worked closely with product owners and architects to derive the solutions as per requirements.
  • Developed and maintained monorepo using nx to keep independently deployed modules in the same repository.
  • Developed backend system using TS+Node with postgresql as data store.
  • Implemented middlewares in Gateway service to implement logging and request IDs for all incoming requests.
  • Implemented the micro frontend architecture to enable loading the new module UI in existing PHP platform (using a host PHP component).
  • Created CI pipeline using CodeFresh to ensure continuous integration & deployment of UI artifacts. I Worked with DevOps team to create CD pipeline and ensured CD using FluxCD for backend service artifact.
  • Fixed reported GDs (general defects) by end users in legacy PHP system.
  • Was part of Scrum planning and ticket grooming sessions for preparing the sprint.
  • Ensured the unit tests are updated and code coverage (95%+ for frontend & 100% for backend) requirements are met.
  • Implemented feature toggles using launch darkly to gradually roll out the newer version of the system.

EDTECH PLATFORM — WEB APPLICATION & BACKEND SERVICES
Tech stack
  • ReactJS & Redux
  • ExpressJS & Apollo Server
  • Mocha & Chai & Enzyme (Karma Test Runner)
  • Cypress (Integration Tests)
  • Babel & Webpack
  • Sementic React UI
  • ElasticSearch & MongoDB
Outline
The product included intuitive portals for higher ed representatives and high schools to schedules events, fairs and representative visits. It also included a functionality for students to target the majors and institutes of their choice to pursue higher education. ​Project was to make the frontend clients (React Apps) WCAG 2.0 compliant. Project scope also included Code cleaning along with new feature implementation in the backend powered by GraphQL, MongoDB and ElasticSearch.
Role
Fullstack Software Engineer
Contributions
  • Worked Remotely with team which involves collaborations and daily scrums.
  • Made the frontend portals compliant with accessibility standards I.e. WCAG 2.0 AA.
  • Wrote and updated unit tests using Mocha, Chai and Enzyme for UI tests.
  • Wrote integration tests using Cypress to make the testing process more automated.
  • Removed feature flags from frontend and backend applications after the release stabled I.e. UI components, backend queries, GraphQL queries.
  • Implemented centralized logging for all the packages present in the monorepo.
  • Made the third party UI components focus order compliant across browsers.
  • Ensured the unit tests are updated and codecov (92%+ for frontend & 100% for backend) requirements are met.
  • Implemented features in backend spanning over multiple backend services i.e. Elastic Search service, mongo service.
  • Was part of Scrum planning and ticket grooming sessions for preparing the scrum.

HR PLATFORM — WEB APPLICATION
Tech stack
  • ReactJS (with TypeScript) & Redux
  • antD React UI
  • Mocha & Chai & Enzyme
  • Google Places API
  • Babel & Webpack
  • Sharepoint (backend) & SPFX framework for frontend
  • JIRA
Outline
A web platform which enables the employees to making the requests for travel booking reimbursements and apply leaves. The managerial staff is thus responsible to process those requests and applications. Since it involved multiple level of managerial hierarchy to approve or reject, role based authentication was used to decide the UI components which needed to be served.
Role
Software Engineer (Front End)
Contributions
  • Introduced Redux setup for state management in sharepoint react webpart (SPFX).
  • Used Redux selectors to keep the react components reusable and data agnostic.
  • Use of Typescript for third party components to ensure the code quality.
  • Was part of Scrum planning and ticket grooming sessions for preparing the scrum.
  • Used Google Places API to get real location end points for source destination.
  • Enabled tree shaking and bundle splitting to reduce the webpart bundle size.
  • Wrote unit tests to ensure coverage stays 70% plus.
  • Attended sprint grooming sessions and retrospective meetings to improve the process of estimates.
  • Wrote gulp tasks to transpile the ES7+ features.

URDU OCR - URDU TEXT RECOGNITION
Tech stack
  • Python
  • Tesseract Engine
  • JIRA
Outline
Research project for developing a POC (proof of concept) which detects different Urdu fonts. CLI tool will take an image of some written Urdu and will pass it through tesseract engine to recognize the urdu text and return in Unicode format.
Role
Research Engineer
Contributions
  • Understanding the training process of tesseract engine for custom data sets i.e. Urdu Image Data set.
  • Acquiring and cleaning of Urdu handwritten datasets.
  • Increasing accuracy of images with digital urdu print recognition (score was good for Nastaleeq Font).
  • Obtaining a good recognition score for handwritten datasets.

TELEMEDICINE PLATFORM — WEB APPLICATION & BACKEND SERVICES
Tech stack
  • AngularJS & Vanilla JS
  • NodeJS (ExpressJS) & SocketIO
  • MySQL & SQL
  • Mocha & Chai
  • Babel & Gulp
  • JIRA & BitBucket
Outline
A web platform which enables the medical professionals to provide medical assistance via web. Patients and hospital staff were able to schedule video call setups for the doctor to remotely inspect and prescribe. It also tracked the medical history of the patient throughout the cycle. Project was to modernize the existing appointment booking system to the latest technology and requirements with enhanced features.
Role
Fullstack Software Engineer
Contributions
  • Made the calendar feature on appointment booking page DST compliant and accurate in different DST time zones.
  • Migrated the Event Calendar to newer version of the platform.
  • Tackled & fixed the technical limitations posed by AngularJS and fullcalendar.
  • Did performance tuning of some FE modules to identify the resource heavy angularjs function calls to replace with custom implementations i.e. copy etc.
  • Made sure that the code is maintainable by breaking into modules and services.
  • Wrote Unit tests in Mocha & Chai to meet the test coverage requirements.
  • Attended Sprint planning meetings and groomed the tickets.

MESSENGER MARKETING PLATFORM — WEB PORTAL & BACKEND SERVICES
Tech stack
  • NodeJS (ExpressJS)
  • SocketIO
  • ReactJS & Redux
  • Mocha & Chai
  • MongoDB & Postgre
  • Unix cron Jobs to run automated scripts
  • Gulp & Babel
  • Messenger Platform API
  • Facebook Graph API
  • WhatsApp Business API
Outline
A web portal to facilitate the E-Commerce startups and shopify / darazpk stores to enhance product reach via messenger bots. E-Commerce store will use the portal to send bulk messages, sequence messages and bot communication to enhance the Facebook page engagements with targeted users.
Role
Fullstack Software Engineer
Contributions
  • Created reusable react components for different modules
  • Implemented webhook pattern along with the message queue to ensure smooth ingestion of FB & Messenger events.
  • Wrote a SQL based cron service to compute aggregated KPIs and stats for the dashboard component.
  • Integrated platform with twitter and WordPress blogs via Webhooks.
  • Did SocketIO setup to send real time notification to web client & dashboard service.
  • Wrote Unit tests in Mocha & Chai to meet the test coverage requirements.
  • Attended Sprint planning meetings and groomed the tickets

SHOPPING APPLICATION — WEB APPLICATION + BACKEND
Tech stack
  • Golang stdlib
  • Golang testing framework
  • ReactJS & Redux ToolKit (RTK)
  • PostgreSQL
  • antD UI
Outline
Project was to develop a shopping platform with frontend application in React & backend written in golang. Features included role based authentication, admin panel & shopping cart.
Role
Fullstack Software Engineer
Contributions
  • Did requirement exploration meetings with client to define functional & non functional requirements.
  • Created reusable react components for different modules
  • Developed golang api and used PostgreSQL as database.
  • Add logic to serve the react bundle application from same golang server.
  • Used go stdlib to create middlewares i.e. logging, authentication in backend service.
  • Implemented role based authentication to manage access and features of system.
  • Implemented cart in the FE app and syncing it with backend service using service worker.
  • Used golang testing framework to write unit tests for apis.
  • Wrote unit tests for FE react application using react-testing-library & jest.

CRYPTO DASHBOARD — BACKEND SERVICE FOR FE
Tech stack
  • Golang stdlib
  • Golang testing framework
  • Coingecko Data API
  • MongoDB
Outline
A backend service for the front end dashboard which fetches crypto coin data from CoinGecko data api and stores it in mongo store. This data is then served to front end on demand. Service is also supposed to do caching to minimize the usage of external API.
Role
Fullstack Software Engineer
Contributions
  • Developed golang api and used PostgreSQL as database.
  • Implemented caching and async data fetch flow to get data from from external api.
  • Used go stdlib to create middlewares i.e. logging.
  • Used golang testing framework to write unit tests for apis.
  • Implemented automatic deployment of service using Github actions.