Umair Khan, Developer in Lahore, Punjab, Pakistan
Umair is available for hire
Hire Umair

Umair Khan

Verified Expert  in Engineering

Scraping Developer

Location
Lahore, Punjab, Pakistan
Toptal Member Since
June 21, 2021

Umair is a Python developer and entrepreneur. He has over 15 years of experience writing software, has founded three companies, and is passionate about solving performance-related problems. He built an open-source alternative to Slack, authored BitMate software that made the BitTorrent protocol accessible to low-bandwidth nodes, and created an application that automates drop shipping.

Portfolio

Freelance
AWS Lambda, Flask, Flask-RESTful, Python 3, Unit Testing...
PixieBrix
Python 3, Django, Django REST Framework, React, TypeScript 3, PostgreSQL...
Fecundity
Python, Docker, PostgreSQL, React, RabbitMQ, Celery, Django REST Framework...

Experience

Availability

Part-time

Preferred Environment

Vim Text Editor, Linux, Docker

The most amazing...

...project I have worked on is BitMate: a low-bandwidth client for the popular BitTorrent protocol. It has been featured on websites such as GigaOm.

Work Experience

Senior Back-end Python Developer

2021 - 2021
Freelance
  • Upgraded the codebase from Flask 1.0 to Flask 2.0.
  • Upgraded the codebase so that it can be deployed as Lambda functions using Zappa (https://github.com/zappa/Zappa).
  • Improved the test coverage to 80%. This was done before the Flask version bump. It allowed us to make sure that everything was working perfectly well after the version upgrade.
Technologies: AWS Lambda, Flask, Flask-RESTful, Python 3, Unit Testing, Amazon Web Services (AWS), Lambda Functions, Lambda Architecture

Full-stack Python Contractor

2021 - 2021
PixieBrix
  • Updated the API views to use proper DRF base classes to reduce code size.
  • Incoporated OpenAPI schema generation. API documentation was made available via a webpage. OpenAPI YAML file was used to generate TypeScript type definitions.
  • Implemented link header pagination in the project.
  • Developed API versioning. This allowed us to move only a subset of API endpoints to their paginated versions.
  • Built API throttling. The requirement was to have different rate limits for different endpoints.
  • Increased code coverage to over 90%. We used mocks, factory boy, and others to write tests that covered permissions and business logic.
Technologies: Python 3, Django, Django REST Framework, React, TypeScript 3, PostgreSQL, Webpack, Unit Testing, APIs, Full-stack, ESLint

CEO

2019 - 2021
Fecundity
  • Scaled the team from two to 28 employees within a year.
  • Oversaw the development of large-scale scraping software, the back end of event management software, and a progressive web app.
  • Created infrastructure for running the business such as the accounts, HR, and operations department.
  • Create API backend in Python/Django. This backend served web application, PWA, and native mobile apps of the client.
  • Worked on the ETL of data from the legacy MongoDB to the new PostgreSQL DB.
Technologies: Python, Docker, PostgreSQL, React, RabbitMQ, Celery, Django REST Framework, Django, Git, Back-end, Python 3, Vim Text Editor, Linux, Scraping, Memcached, JavaScript, Relational Databases, SQL, Technical Leadership, Management, REST, APIs, Databases

Python Contractor

2018 - 2021
Dropified
  • Developed a Python Django application that automates the dropshipping business.
  • Used Python Celery to write asynchronous tasks. We used a Redis broker.
  • Tracked bugs and user stories using Jira software.
Technologies: Python, JavaScript, Docker, Celery, Django, PostgreSQL, Back-end, Python 3, Django REST Framework, Vim Text Editor, Linux, Scraping, Git, Memcached, jQuery, Relational Databases, SQL, Redis, APIs, Databases

CEO

2016 - 2019
Droozal
  • Managed the first independent office while running Droozal.
  • Developed a Python/Django software to automate the printing of business cards.
  • Used Docker to manage the servers in development and production environments.
Technologies: Python, Django, PostgreSQL, Python 3, Vim Text Editor, Linux, Docker, Git, Memcached, JavaScript, Back-end, jQuery, Relational Databases, SQL, Technical Leadership, Management, REST, APIs, Databases

Python Contractor

2016 - 2018
Zulip
  • Contributed to a very successful open-source project.
  • Mentored high school students for Zulip in Google Code-in.
  • Mentored university students for Zulip in Google Summer of Code.
  • Developed the Python back end. The technology stack included Django, Tornado, and PostgreSQL.
  • Built the front end localization. I used the i18next library to manage the translations.
Technologies: Python, PostgreSQL, Tornado, Celery, WebSockets, Back-end, Python 3, Vim Text Editor, Linux, Git, Memcached, JavaScript, jQuery, Relational Databases, SQL, APIs, UI Automation, Automated UI Testing, Databases

Software Contractor

2014 - 2016
BuzzFeed
  • Assisted in the development of a very performant machine learning software.
  • Automated server configuration and management using Chef.
  • Interfaced C++ with Python to call code written in C++ from Python.
Technologies: Python, C++, Memcached, Vim Text Editor, Linux, Git, Back-end, Relational Databases, SQL, Databases

Python Developer

2011 - 2014
Freelance
  • Assisted on a localization software. This software was responsible for managing a distributed team of translators and their work.
  • Used Git for collaboration within a team of developers.
  • Learned how to do test driven development using Python unit tests and mock-ups.
Technologies: Python, MySQL, Git, Google App Engine, Vim Text Editor, Linux, JavaScript, Back-end, jQuery, Relational Databases, SQL, Databases

Founder and Lead Developer

2011 - 2012
Blend.pk
  • Launched Pakistan's first job search engine. The concept was similar to Indeed.com.
  • Created spiders to scrape job listing from different job portals in Pakistan.
  • Implemented the Levenshtein distance algorithm to guard against incorrect spelling in user searches.
Technologies: Python, Google App Engine, Scraping, Vim Text Editor, Linux, Git, Back-end, Databases

Research Assistant

2009 - 2010
LUMS
  • Authored BitMate software which made the BitTorrent protocol fair to the low-bandwidth nodes.
  • Published a paper in HotNets. It is considered a very prestigious conference.
  • Completed research in the field of peer-to-peer software technology.
Technologies: Python

Software Developer

2005 - 2008
VST
  • Developed a medical record management software in VB.Net.
  • Became a team lead and managed a team of three developers and two QAs.
  • Developed a school management software in C#.Net. I was also involved in requirements gathering for this project.
Technologies: JavaScript, Back-end, Relational Databases, SQL, Databases

BitMate

A low-bandwidth client for the popular BitTorrent protocol. I was the main author of this software. This software made the tit-for-tat protocol of BitTorrent fair for regions with low bandwidth. It has been featured on big websites such as GigaOm.

Zulip: Open-source Group Messaging Software

https://zulip.com
An open-source alternative to the popular Slack. I was the back-end developer for Zulip. I also worked on the real-time push notifications to the front end using the Tornado server and WebSockets. I also had the pleasure of mentoring students and open-source contributors while working for Zulip.

Twitter Live Feed

https://github.com/Prixite/twitter-livefeed
A Python Tornado-based application that pushes tweets to the Angular front end via WebSockets. I created this project to learn about WebSockets, and push notifications, and real-time updates.

Back-end Template

https://github.com/Prixite/backend-template
I created this tool to serve as the back-end template for my projects. It includes all the scaffolding necessary to start a production-grade application. It's a Django application and includes token-based authentication. The permissions are back-end delivered by unit tests.

React/Flask Template

https://github.com/Prixite/react-flask-demo
A React and Flask application that serves as a template for my projects. You will observe a few interesting concepts in this template, such as that everything is tied up as microservices through Docker and Linters are integrated.
2008 - 2010

Master's Degree in Computer Science

LUMS - Lahore, Pakistan

2001 - 2005

Bachelor's Degree in Computer Science

FAST-NU - Lahore, Pakistan

Libraries/APIs

jQuery, Django ORM, React, Twitter API, Node.js, Flask-RESTful

Tools

Vim Text Editor, Git, Celery, RabbitMQ, NGINX, Webpack

Frameworks

Django, Django REST Framework, Flask, AngularJS

Languages

Python, JavaScript, Python 3, SQL, C++, CSS, TypeScript 3

Paradigms

REST, Unit Testing, Management, Lambda Architecture

Platforms

Linux, Docker, Google App Engine, AWS Lambda, Amazon Web Services (AWS)

Storage

Memcached, PostgreSQL, Relational Databases, Redis, Databases, MySQL

Other

Scraping, Tornado, WebSockets, Back-end, Gunicorn, APIs, UI Automation, Automated UI Testing, Technical Leadership, Full-stack, ESLint, Lambda Functions

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring