×
Michael Hill

Michael Hill

Python Developer


Background


About

About

Self-taught workaholic whose strongest areas are API and microservice-related development, as well as webscraping. I learn what I need to when I need to. Highly-driven & low-maintenance. Only interested in backend development, looking to move away from full-stack.

Work Experience

Work Experience

  • Python Full Stack Developer (Remote), DAAP LLC

    Jun, 2020 - Present

    Building and managing data-collection pipelines responsible for providing up-to-date nutritional-centric product data from various online sources, which is ultimately used within the harmonization process.

    • Created a 60+ site Scrapy project, complete with custom spider templates to expedite new site additions.

    • Created a Reporting Python package, complete with Sphinx documentation, for programatically obtaining reports housed within portals requiring account logins.

    • Created an interface for managing, scheduling, and reviewing reports from various portals.

  • Software Engineer, Renaissance (RenComGroup LLC)

    Dec, 2018 - Jun, 20201 year 6 months

    Eliminating various pain-points in the data collection process. For areas that could not be fully automated, ensuring they were made more efficient.

    • Data-collection via webscraping

    • Consumed product, price, and sales data from REST APIs

    • Developed microservice APIs that powered dashboard data

    • Developed a REST API for the company, providing manufacturers direct access to manage their data

  • Import Specialist - Data Integrations Team, Advertising Specialty Institute (ASI)

    Apr, 2015 - Nov, 20183 years 8 months

    Mapping supplier-provided data feed fields to the company's API, while noting any post-processing that was required.

    • Created a suite of helpful macros, accessible via custom macro ribbon (xlam)

    • One macro fixed 50 common import issues

  • Data Entry Specialist - Electronic Information Team, Advertising Specialty Institute (ASI)

    Jun, 2014 - Apr, 201510 months

    Input/update products manually through the company's product management solution.

Projects Experience

Projects Experience

  • R2D2: Report Scheduling Portal, DAAP LLC

    Mar, 2021 - Present

    A portal built for managing all aspects of portal downloaders housed within the DAAP-Reporting package.

    • Normalization settings dictate how data is handle prior to being uploaded

    • Upload settings dictate how and in which Google Bucket / Folder the files should be uploaded

    • Ingestion settings dictate what data to ingest into which BigQuery dataset & table

    • Cascading settings that translate from portal to account to report to job

    • OTP QR code decoding feature to disect OTP secrets for 2FA accounts

    • Auto-refreshing OTPs with visible timers when viewing account lists

    • Calendar view of all past and upcoming jobs, filterable by Account client annd Reporter class

    • File Browsing areas to review everything from job logs & downloads to system logs

    • Admin area to monitor system health (resource usage) and manage (stop/restart) the various processes/services that power the application

    • Celery & Redis used for background report tasks to enable concurrent background jobs

    • Linting and testing done using black, isort, pylint, flake8, PyTest, codecov.io, and GitHub Actions

  • Daap-Reporting: Portal Reporter Package, DAAP LLC

    Nov, 2020 - Present

    A Reporting framework including a metaclass with required functions and helpful utilities that enforce a standard workflow when navigating through login portals and downloading reports.

    • Post-processing functionality

    • Bulk file normalization

    • Data ingestion capabilities

    • Reporter classes for each login portal we acquire data from

    • Fully documented with Sphinx

  • DAAPy, DAAP LLC

    Jun, 2020 - Present

    A Scrapy project that focuses on collecting nutritional info, ingredients, and other health-related product information.

    • 60+ websites

    • 1 million products scraped

    • Custom spider templates

    • Multiple pipelines responsible for post-processing the data

    • Pulls and pushes updates to and from a BigQuery dataset

  • RenCom API, Renaissance (RenComGroup LLC)

    Sep, 2019 - Jun, 20209 months

    An API for manufacturers to manage their platform data, ensuring suppliers always have the most up-to-date details.

    • Inventory, pricing, and product data management

    • Different pricing structures: Per retailer, regional, universal

    • API key and Token-based access

    • Swagger UI Try It Console

    • ReDoc documentation

  • Collective RenCom Webscraping Work, Renaissance (RenComGroup LLC)

    Jan, 2019 - Mar, 20201 year 2 months

    The sum of all webscraping work done while working at Renaissance.

    • Scraped 35+ sites

  • Manufacturer API Integrations, Renaissance (RenComGroup LLC)

    Apr, 2019 - May, 20201 year 2 months

    Consumed product, price, and sales data from various manufacturer and platform APIs.

    • Ashley Furniture (Apigee)

    • New Classic Furniture (Proprietary)

    • Jackson Catnapper (Proprietary)

    • Furniture of America (Magento API)

    • Wordpress API

    • WooCommerce API

    • BigCommerce API

    • Magento API

    • Shopify API

    • Wix Ecommerce API

  • Analytic Report Dashboards, Renaissance (RenComGroup LLC)

    Feb, 2019 - May, 20201 year 3 months

    Dashboard Reports with various metrics for multiple marketing avenues.

    • Search Engine Optimization (SEO) data via Google Analytics API

    • Search Engine Marketing (SEM) data via Google Ads/Adwords API

    • Social Media Marketing data via Facebook Insights API

  • Image Processor (Standardization), Renaissance (RenComGroup LLC)

    Nov, 2019 - Dec, 20191 month

    Python Script that utilizes the Pillow Image package to standardize all images provided by various vendors and manufacturers.

    • FTP traversal/upload/download

    • Images are resized, cropped, enhanced, converted, and transferred to the appropriate asset folders.

  • PPC Account Manager, Renaissance (RenComGroup LLC)

    Jan, 2019 - May, 20194 months

    A Flask app that provided automated PPC client account setup and easy management.

    • Login-protected application

    • Accepts Excel templated settings and additional UI form settings

    • Automated account setup using Google Ads/Adwords APIs

    • Simple Bootstrap UI with forms via WTForms

  • ESP Assistant Excel Add-In, Advertising Specialty Institute (ASI)

    Apr, 2015 - Nov, 20183 years 8 months

    A toolbar suite of useful Macros for use by employees who handle supplier data in the company's Excel template format.

    • Automates repetitive pre-import procedures

    • Discovers and corrects common errors pre-import

    • Increases productivity

    • Decreases operator error and import turnover time

  • Collective Freelance Programming / Data-Entry Work

    Jun, 2014 - Nov, 20184 years 5 months

    Built up a repeat client-base for programming and data-entry-related tasks.

    • Delivered over 200 jobs to satisfied clients

    • Provided services through multiple platforms and avenues

  • SportsGuru Kodi Add-On, Hobby Project

    Apr, 2018 - Dec, 20188 months

    A Kodi Media Center Add-On that provided live sports updates for a user's favorite teams.

    • Utilized ESPN's public, undocumented APIs that power their own dashboards

    • Included NBA, NHL, MLB, and all the Soccer Leagues

    • Included all the common ESPN features: standings, highlights, schedules, line-ups, play-by-play, and live updates

    • Notification settings allowed restricting notification to favorite leagues and/or teams

    • Reached #6 in Top Used Third-Party/Unofficial Add-Ons

  • Cartoon Crazy Kodi Add-On, Hobby Project

    Oct, 2017 - Oct, 20181 year

    A Kodi Media Center Add-On for cartoons new and old.

    • Content from 20+ websites

    • 24/7 Cartoon channels

    • Univeral search feature to aggregate a list of sources that were available for a specific show/episode

    • Reached #13 in Top Used Third-Party/Unofficial Add-Ons

Skills

Skills

  • Backend

    Python

    Flask

    SQLAlchemy

    SQLite

    Celery

    Redis

    Postgres

    MySQL

  • Webscraping / API Consumption

    requests

    BeautifulSoup

    Scrapy

    jmespath

    csv

    openpyxl

  • REST API Development

    Swagger

    OpenAPI 3

    ReDoc

    Flask-Restful

    Flasgger

    Flask MethodView

    Marshmallow

  • Linting / Testing / Documentation

    PyTest

    Coverage

    Sphinx

    GitHub Actions

    Flake8

    PyLint

    Black

    isort

  • DevOps

    Ubuntu

    RedHat

    Apache

    Nginx

    Supervisor

    Gunicorn

    Heroku

    Python-Fabric

Education

Education

  • Liberal Arts & Sciences, Associates (incomplete), Burlington County Community College

    Sep, 2011 - Apr, 2014

Interests

Interests

  • Open Source

  • Animals

  • Running / Hiking

  • Urban Exploration

References

References

  • Karen Resto, Manager of Data Operations at SPINS LLC (DAAP sister-company)

    Mike has faced many obstacles trying to secure data for us. He takes every challenge we throw at him with stride, and genuinely appears to enjoy the challenge! His determination has led to an increase in our team's velocity, which directly impacts the client with more robust deliverables. Mike's work ethic is matched by his incredible sense of humor, making it an all around joy to work with him. Thank you, Mike!

  • Nehla Amin, Catalog Specialist at Renaissance (RenComGroup LLC)

    When Michael was hired onto the company, he was able to provide the technical expertise needed to help automate the process of catalog updates, improve the quality of our company's CRM system, and start creating APIs to aggregate data from multiple manufacturers. He also had to teach another colleague on website scraping while on the job. He is always professional, and an all around great person to be around! He will be a valuable asset on any team.

  • Armughan Rafat, Chief Technology Officer at Advertising Specialty Institute (ASI)

    Michael is a self starter and a smart individual. While working on product data system he took initiative to build an excel import add in to automate data import. I wish him best of luck.

  • Christy Ridpath-Tramdaks, Executive Director of Business Development & Digital Integrations at Advertising Specialty Institute (ASI)

    Michael would be an asset to any project team or work group. Michael always approaches his work with enthusiasm and positivity. I was always amazed, and inspired by, his relentless pursuit of efficiency and automation. In every instance he took it upon himself to find better, more effective or efficient ways to accomplish tasks many of us may accept as manual or slow. His professional mantra is clearly “There has to be a better way and I will find it.” But then not only does Michael find these solutions, he implements them. In doing so, he raises the bar for those around him.