A web platform directly competitor to Redfin and Zillow providing property listings in real time across statesAlong with property search refinement tools, product include 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
Project Challenges
Implementing enhancements in messaging feature using SocketIO and antD components.
Layed out baseline structure for email notifications with customized UI.
Implemented background scheduled jobs to trigger notifications in different business scenarios.
Integrated MLS with RETS feed by implementing a RETS client which aheres to RETS 1.7.2+ standard.
Integrated RESO MLS feeds with the help of cron scripts to have data with in 5 minute buffer whenever there is a change in property.
Performance tuning of MongoDB queries using aggregate pipelines and attribute based search patterns which involved modification of existing data models.
Performance tunning 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. Utilized MongoDB $geowithin and $geonear stages to implement 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.
Attending sprint grooming sessions and retrospective meetings to improve the process of estimates.
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
Project Challenges
Working Remotely with team which involves collaborations 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.
Feature enhancements in existing web applications according to new school year requirements.
Investigating and developing scripts to do rollover of data from previous year to upcoming school year.
Developing CI pipelines using Codefresh to ensure smooth code integration.
Ensured complete type safety using advanced concepts of TypeScript (utilities, generics etc.)
Regularly update the documentations on confluence with latest app flows.
Attending sprint ceremonies like sprint planing and retrospective with remote teams to increase agility & productivity.
EDUCATION COMPANY CORE 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
Project Challenges
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 postgre as data store to house new backend functionality.
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 plateform (using a host PHP component).
Created CI pipeline using CodeFresh to ensure continuous integration & deployment of UI artifects. I Worked with DevOps team to create CD pipeline and ensured CD using FluxCD for backend service artifect.
Fixing reported GDs (general defects) by end users in legacy PHP system.
Being part of Scrum planning and ticket grooming sessions for preparing the sprint.
Ensuring 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.
EDUCATION CONNECT 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
Project Challenges
Working Remotely with team which involves collaborations and daily scrums.
Make the frontend portals compliant with accessibility standards I.e. WCAG 2.0 AA.
Writing and updating the unit tests using Mocha & Chai and Enzyme for UI tests.
Writing Integration tests using Cypress to make the testing process more automated.
Removing feature flags from frontend and backend applications I.e. UI components, backend queries, GraphQL queries.
Implemented centralized logging for all the packages present in the monorepo.
Making the third party UI components focus order compliant across browsers.
Ensuring the unit tests are updated and codecov (92%+ for frontend & 100% for backend) requirements are met.
Implementing features in backend spanning over multiple backend services i.e. Elastic Search service, mongo service.
Being part of Scrum planning and ticket grooming sessions for preparing the scrum.
HR TRAVEL BOOKING 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)
Project Challenges
Introducing Redux setup for state management in sharepoint react webpart (SPFX).
Using Redux selectors to keep the react components reusable and data agnostic.
Types for third party components to ensure the code quality.
Being part of Scrum planning and ticket grooming sessions for preparing the scrum.
Use of Google Places API to get real location end points for source destination.
Enabling tree shaking and bundle splitting to reduce the webpart bundle size.
Writing unit tests to ensure coverage stays 70% plus.
Attending sprint grooming sessions and retrospective meetings to improve the process of estimates.
Writing 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
Project Challenges
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
Project Challenges
Making the calendar feature DST compliant and accurate in different DST time zones.
Migration of the Event Calendar to newer version of the platform.
Tackling the technical limitations posed by AngularJS and fullcalendar for meeting requirements.
Performance tuning of some FE modules to identify the resource heavy angularjs function calls to replace with custom implementations i.e. copy etc.
Keeping the UI same and similar to mocks and earlier design during the migration.
Keeping the code modular by breaking into modules and services.
Writing Unit tests in Mocha & Chai to meet the test coverage requirements.
Attending Sprint planning meetings and grooming 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
Project Challenges
Creating reusable react components for different modules & then consuming them in containers.
Implementing webhook & the message queue to ensure smooth consumption of FB & Messenger events(Webhook setup).
A SQL based cron service to show aggregated KPIs and stats on the dashboard component.
Integration of platform with twitter and WordPress blogs via Webhooks.
SocketIO setup to send real time notification to web client & dashboard service.
Creating reusable react components for different modules & then consuming them in containers
Writing Unit tests in Mocha & Chai to meet the test coverage requirements.
Attending Sprint planning meetings and grooming 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
Project Challenges
Doing requirement exploration meetings with client to define functional & non functional requirements.
Creating reusable react components for different modules & then consuming them in containers.
Developing golang api along with data model on PostgreSQL.
Serving the react bundle application from same golang server.
Using go stdlib to create middlewares i.e. logging, authentication in backend service.
Implementing role based authentication to manage access and features of system.
Implementing cart in the FE app and syncing it with backend service using service worker.
Using golang testing framework to write unit tests for apis.
Writing 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
Project Challenges
Developing golang api along with MongoDB data modeling.
Doing caching and async data fetching from external api.
Serving the data to FE on demand.
Using go stdlib to create middlewares i.e. logging.
Using golang testing framework to write unit tests for apis.
Automatic deployment of service using Github actions.