Chris Lee, Developer in Cambridge, MA, United States
Chris is available for hire
Hire Chris

Chris Lee

Verified Expert  in Engineering

Software Developer

Location
Cambridge, MA, United States
Toptal Member Since
October 3, 2017

Chris has years of experience in developing API services. He's most comfortable using the aiohttp package, SQLAlchemy (Alembic), and the PostgreSQL stack, but he's also familiar with Flask, MongoDB, Redis, and more. He's been a part of the back-end team at Indico Data Solutions—a machine learning API and tools provider—developing back-end services handling big data processing and analysis. Chris also has excellent skills with AWS, GCE, and Azure clouds.

Portfolio

Indico Data Solutions
TensorFlow, Scikit-learn, PostgreSQL, SQLAlchemy, Tornado, Python...
Intellibridge LLC
Django, JavaScript, Python, Node.js, React, Artificial Intelligence (AI)
Metalenz, Inc.
Python, APIs, API Design, Camera API

Experience

Availability

Part-time

Preferred Environment

Docker, Ubuntu, MacOS

The most amazing...

...thing has been designing and developing the entire tech infrastructure for https://indicodata.ai: it serves huge data loads and produces tons of business value.

Work Experience

Principal Engineer

2015 - PRESENT
Indico Data Solutions
  • Designed and integrated new technologies into an incredibly large and complex microservices infrastructure.
  • Mentored multiple teams of engineers and guided them in the design and development of features.
  • Built, maintained, and deployed back-end services for data visualization tools, data analysis, and custom machine learning model training tools (Indico's Crowdlabel).
  • Developed, maintained, and deployed a machine learning API server with several gigabytes of machine learning models behind the scenes.
  • Constructed in-house deployment utilities for AWS, Azure Cloud, and Google Compute Engine capable of spinning up several clusters of API workers with a simple script.
  • Created a scheduling service that extracts information via scraping an API from several online mediums, performs a series of text analyses (keywords, topics, text features, sentiment, and more), and continuously builds a text corpus.
  • Developed and maintained client libraries and SDKs for machine learning APIs across several different languages, including Python, Java, Android, JavaScript (Node.js), Ruby, PHP, and until recently, R.
  • Set up continuous integration on all projects using Docker, Docker Compose, and CodeShip (Jet).
  • Improved large data ETL and database transactions by optimizing speed and memory consumption.
  • Managed the infrastructure in Kubernetes and deployed a series of Celery pipelines woven together with a Redis-result store and a RabbitMQ cluster broker.
Technologies: TensorFlow, Scikit-learn, PostgreSQL, SQLAlchemy, Tornado, Python, Google Compute Engine (GCE), Azure Cloud Services, Amazon Web Services (AWS), Docker, NumPy, Data Scraping, Object-oriented Programming (OOP), Async/Await, Distributed Systems, Containerization

AI Developer

2023 - 2023
Intellibridge LLC
  • Developed ETL connectors to load data from internal systems via API and sync them into a vector database for use as a retriever.
  • Integrated with MetaGPT project communicating over Amazon SQS queues.
  • Set up a Milvus cluster using Terraform and Kubernetes with monitoring and Kafka metrics.
Technologies: Django, JavaScript, Python, Node.js, React, Artificial Intelligence (AI)

Back-end Developer | Python and API Design

2022 - 2022
Metalenz, Inc.
  • Developed a user portal to host installers locked behind user authentication.
  • Built an administrative interface tool to manage the database for the user portal.
  • Developed a camera SDK for Metalenz's proprietary camera hardware.
Technologies: Python, APIs, API Design, Camera API

SDK Engineer

2022 - 2022
Metalenz
  • Built Python API for camera hardware and calibration processes.
  • Helped integrate camera hardware into desktop GUI application, using PyQT5 and the API I developed.
  • Built the user portal back end and front end on FastAPI, SQLAlchemy, and React to provide authenticated file access to users.
Technologies: React, Python 3, Poetry, SDKs, APIs, PyQt 5, HTTP Server, Python Asyncio, PostgreSQL, FastAPI, Object-oriented Programming (OOP), Async/Await, Containerization, CI/CD Pipelines, JavaScript, Microservices

SQLAlchemy Consultant

2020 - 2021
JEFuller
  • Served as a database consultant on how to improve the database structure and database queries.
  • Performed a high-level audit of an existing system and created a low-to-high priority action items report.
  • Assisted in debugging nondeterministic behavior with database connection management. Refactored the codebase to have cleaner and more reliable database connection logic.
Technologies: Python 3, SQLAlchemy, Docker, Python, Object-oriented Programming (OOP), Async/Await, Containerization

Software Developer

2019 - 2020
TargetSmart
  • Developed TargetSmart APIs on AWS Lambda. Maintained, modified, and tested APIs as necessary.
  • Queried database information from an AWS Aurora SQL database.
  • Developed auto-example API generation for client-facing documentation.
  • Supported the updating and adding documentation to new APIs.
Technologies: Pandas, AWS Lambda, Python, SQLAlchemy, Docker, Object-oriented Programming (OOP), Async/Await, Containerization

Python Developer

2018 - 2020
Ontic
  • Interfaced with several crypto-exchange APIs like KuCoin, Binance, Bittrex, Bitfinex, OKEx, Poloniex, Huobi, and CCXT.
  • Used REST APIs and WebSocket APIs to acquire data in real time.
  • Saved time-sensitive data into a Redis database and enabled database clients to retrieve data through a simple interface.
  • Developed async IO implementations for asynchronous operations.
  • Used cfscrape (a Python library) to bypass a Cloudflare anti-bot page.
Technologies: PostgreSQL, Redis, Python, Docker, NumPy, Data Scraping, Object-oriented Programming (OOP), Async/Await, Containerization

Python and Facebook API | Developer

2018 - 2019
Lerderian, Inc. (via Toptal)
  • Created a series of recurring data ETL tasks for API data from Facebook and Instagram.
  • Developed an image downloader and vectorizer and stored the data in PostgreSQL for future use in image analysis.
  • Built an HTTP Server to trigger ETL tasks, synced Facebook accounts through OAuth 2, and performed analysis tasks on data.
  • Created a database schema that allows for plug-and-play data ETL types from different API endpoints.
  • Developed a sophisticated command-line tool to interface with an aiohttp server.
Technologies: Facebook Open Graph API, RedBeat, Docker, Celery, Python 3, SQLAlchemy, Python, Data Scraping, Object-oriented Programming (OOP), Async/Await, Distributed Systems, Microservices, JavaScript

Software Developer

2018 - 2018
Seven Hills
  • Handled the ingressing and processing of Google Sheet data via the Google API.
  • Designed an interface for Windows executable to run browser automation and data collection.
  • Automated the Windows COM API for a desktop application.
Technologies: Google Sheets API, Selenium, Docker, Python, Data Scraping, Object-oriented Programming (OOP), Async/Await

Software Developer

2018 - 2018
IDEA Public Schools
  • Automated scraping data from web portal.
  • Queried MS SQL database across multiple tables for aggregate and time-series information.
  • Generated multi-sheet Excel workbooks with formatting and formulas.
  • Automated weekly/monthly report generation using a Windows scheduler.
Technologies: COM, Microsoft, Selenium, Docker, Python, Object-oriented Programming (OOP)

Android Developer Intern

2014 - 2015
Hangtime, Inc.
  • Used LruCache and preloading to create smooth scrolling and fragment transitions.
  • Built generalized adapters to use the same item caching and loading techniques across the application—decreasing the amount of additional logic and maintenance in the codebase.
  • Created custom animations for spinners, loading screens, and sliding notifications and banners.
  • Implemented a variety of intents for deep linking, third-party activity linking (camera, SMS, email, and other social media apps).
  • Reduced the source code to less than half of the original while adding twice the amount of features—bringing the product to feature completeness.
Technologies: Content, Responsive, Google API, Facebook API, Google Maps API, Android SDK, Android Studio, Docker, Object-oriented Programming (OOP)

PDFtoImage.py

This is an image extraction from a PDF utility module from one of my current projects. The project aims to extract table information from scanned pages of a reference book scanned into PDFs.

I needed to extract only the image data from the PDF to perform OCR on the scanned image. I used Indico's PDF extraction tool to extract the image data. I also have an image processing step to prepare for (optical character recognition) OCR. This involved applying thresholding to the pixel data, resulting in a higher contrast black-and-white image.

The rest of the project uses the Google Cloud Vision API to perform OCR on the extracted image. Then, it parses the resulting data using a combination of filters and pattern matching via Python regexes to determine the row and column of each cell. The resulting data is then written into an Excel file for the client.

Privvy

https://github.com/sihrc/privvy
Privvy is a system that synchronizes private files not tracked by Git in Git repositories using a more secure source. It makes use of Git hooks and actively sets the Git template directory to be used for all git repositories, but will not overwrite existing content (make a backup just in case).

It comes with Bash functions that are set up on package installation to either manually sync private files or to set up the Git hook integrations.

Tornado and Motor Boilerplate

https://github.com/sihrc/tornado-boilerplate
This was the first revision of an API framework written in Python using Tornado and Motor (MongoDB). It contains generic handlers for API routes as well as for user authorization.

It contains boilerplate that allows API routes to take shape quickly from scratch. It has a 100% test coverage run with a Travis integration.

StoryQuilt | Android App

https://github.com/sihrc/Story-Quilt
A collaborative story-telling app. Users take turns adding short phrases to a story while only seeing a couple phrases prior.

This was a culmination of a semester course on Android development. It puts into practice various kinds of ItemAdaptors, modularized fragments, real-time database synchronization (Firebase), and Google User authentication and permissions.

Custom Collection Tutorial

https://github.com/sihrc/custom-collection-tutorial
Worked on portraying the ease of creating a new predictive model using Indico's custom collections API. It takes a couple of keywords, uses a Google image search to train any number of images (default=5), and can then predict new images as one of the provided keywords.

Indikit

https://github.com/sihrc/indikit
A lightweight web app that demonstrates the power of machine learning APIs. It is a React.js application that capitalizes on the reusability of components for a dynamic and clearly defined interface.

It also contains an API wrapper designed to allow easy access to the machine learning APIs.
2011 - 2015

Bachelor of Science Degree in Engineering: Computing

Olin College of Engineering - Needham, MA, USA

Libraries/APIs

SQLAlchemy, NumPy, Google APIs, Pandas, TensorFlow, Google Maps API, Facebook API, Google API, Facebook Open Graph API, Google Sheets API, React, ZeroMQ, Scikit-learn, PyQt 5, Python Asyncio, Camera API, Google Cloud API, Node.js

Tools

Docker Compose, Celery, Amazon Elastic Container Service (Amazon ECS), Google Compute Engine (GCE), Android Studio, RedBeat

Languages

R, Python, Python 3, SQL, Java 8, JavaScript, Regex

Paradigms

DevOps, Object-oriented Programming (OOP), Agile Software Development, Responsive, Microservices

Platforms

Docker, Google Cloud Platform (GCP), Azure, Android, MacOS, Ubuntu, Amazon Web Services (AWS), AWS Lambda, Microsoft

Storage

Amazon S3 (AWS S3), Redis, PostgreSQL, RethinkDB, MongoDB, Azure Cloud Services

Frameworks

Android SDK, Selenium, Flask, Django

Other

APIs, Software Design, Architecture, Async/Await, Containerization, Tornado, Data Scraping, Distributed Systems, Content, COM, Poetry, SDKs, HTTP Server, FastAPI, CI/CD Pipelines, API Design, OCR, Artificial Intelligence (AI)

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