Winston Hoyle

I build the data pipelines and interactive maps behind beta.weather.gov, the National Weather Service's next-generation site.

Now
Staff Software Engineer at Ad Hoc
Before
Esri, Maxar, TomTom and iMerit, since 2018
Based In
Los Angeles, working remotely

Where I've Worked

  1. 2025 to now

    Ad Hoc

    Staff Software Engineer, Contractor

    Remote, Silver Spring, MD office

    Lead the componentization and scaling of interactive maps for beta.weather.gov, the National Weather Service's next-generation site.

    • Scheduled ingestion jobs in Go for large weather datasets on recurring update cycles.
    • Interactive maps for state, county and point forecast pages.
    • Schemas and migrations for geographic and large gridded weather data.
    • Primary liaison between the beta site and api.weather.gov, a public API with millions of users.
  2. 2022 to 2024

    iMerit

    Solutions Engineer

    Remote, New Orleans, LA office

    Led LiDAR annotation projects for government, geospatial and autonomous vehicle customers.

    • Customer workflows in Python on AWS (SageMaker, ECS, ECR, Lambda): mask generation, dataset configuration, ingestion and export APIs.
    • A Python REST API for timekeeping and a QGIS plugin for annotation analytics.
    • Independent trials of LiDAR, point cloud and geospatial partners to guide partnership decisions.
  3. 2021 to 2022

    TomTom

    Software Engineer II

    Remote, Lebanon, NH office

    Geospatial and infrastructure work for next-generation traffic services and an OpenStreetMap application on Azure.

    • Cut a pipeline from 22 hours to under 2, saving thousands of dollars a day.
    • Generated roads from GPS traces: Python algorithms to aggregate traces into road geometry, with horizontally scaled map tiling.
    • Moved geospatial Python to Kubernetes and Azure Batch, and wrote Spark jobs in Databricks over traffic data.
  4. 2020 to 2021

    Maxar Technologies

    Software Developer, Contractor

    Remote, Arlington, VA office

    Full-stack software for government satellite programs.

    • Led the backend of a Bayesian modeling web app in Python and FastAPI on AWS.
    • Designed the PostgreSQL, PostGIS and Elasticsearch architecture behind an Apache NiFi news pipeline.
    • Modernized vessel tracking GIS code with Shapely, H3 and GDAL, served through GeoServer.
  5. 2019

    The Buffalo Group

    Software Developer, Contractor

    Remote, Reston, VA office

    Led GIS development with OpenLayers, Leaflet, GDAL, GeoServer and GRASS.

    • Command-line GIS tools exposed as REST endpoints in Python and FastAPI.
    • Microservices backend for a terrain modeling app: GRASS, GDAL, Nameko, Flask and RabbitMQ in Docker.
    • Built the mapping component of the React frontend.
  6. 2018 to 2019

    Esri

    ArcGIS Analyst

    Remote, Vienna, VA office

    Resolved issues on enterprise GIS servers across AWS, Azure, SQL Server and PostgreSQL.

    • Python subject matter expert. Wrote internal and public articles on Python availability.
    • Deployed ArcGIS Enterprise on secure systems for defense clients.
  7. Education

    George Mason University

    B.S. in Geography

    Minor in Computational and Data Sciences.

What I Build on My Own Time

Flight Atlas

Every direct flight route between U.S. airports, rebuilt each month from Wikipedia. Pick an airport or an airline to see where it flies.

  • A monthly scraper publishes each month as precomputed JSON on S3, served by Lambda and cached at Cloudflare's edge.
  • Replacing an Athena and DynamoDB query layer cut route loads from about 4 seconds to one 57 KB download per month.
  • All AWS and Cloudflare infrastructure is Terraform, deployed by GitHub Actions.

Python, React, OpenLayers, Lambda, S3, Terraform, Cloudflare Pages

VineMapper

A new map every day for a year straight, on demographics, politics, economics and retail. More than 300 maps and 30 million views, picked up by news outlets at home and abroad.

  • An open-source repository for collecting, cleaning and visualizing geospatial data from many sources.
  • Each map has its own folder with the data and Jupyter notebook behind it.

Python, QGIS, GeoPandas, Pandas, NumPy, Beautiful Soup, Jupyter

Practice Speaking

An Android app for practicing a language out loud. An AI tutor answers by voice and underlines your grammar mistakes. It covers Russian, French, Portuguese, German and Spanish.

  • Anthropic, OpenAI and Gemini sit behind one provider interface and one contract test suite.
  • Speech, search and key storage all run on the phone, so the app needs no backend or account.

Kotlin, Jetpack Compose, Room, Android Keystore, GitHub Actions

WMATA Fares

Pick a DC Metro station and every other station is colored by what the trip costs, at peak, off-peak or reduced fares. Presented at a WMATA mapping and transit meetup.

  • Fares come from the WMATA API and Open Data DC, stored in S3 and served by one Lambda behind API Gateway.
  • Terraform covers AWS and Cloudflare, and GitHub Actions tests and deploys on every push.

Python, TypeScript, React, Leaflet, Lambda, Terraform, Cloudflare Pages

Income by Census Tract

About 4,700 tracts in Massachusetts and Los Angeles, colored by median income, mean income or income bracket from the 2024 American Community Survey.

  • A GeoPandas pipeline joins Census table S1901 to TIGER/Line shapes and simplifies them to about 5 m.
  • The map is one static page on Leaflet's canvas renderer, with no build step.

Python, GeoPandas, Census API, Leaflet, GitHub Pages

TimeKeeper for QGIS

Track project time without leaving QGIS, backed by a swappable FastAPI and SQLite service.

Python, PyQGIS, FastAPI, SQLite

Tools

Languages
Python, Go, Kotlin, TypeScript, SQL, Java
Geospatial
PostGIS, GDAL, GeoServer, QGIS, GRASS, Leaflet, OpenLayers, GeoPandas, Shapely, H3, ArcGIS Enterprise
Cloud
AWS, Azure, GCP, Cloudflare, Terraform, Docker, Kubernetes, GitHub Actions
Frameworks
FastAPI, Flask, Nameko, React, Node.js, Jetpack Compose, Spark
Databases
PostgreSQL, DynamoDB, Elasticsearch, Athena, SQLite, SQL Server
Systems
Linux (Ubuntu, Debian, CentOS), Windows, Android

Get in Touch

Email is the fastest way to reach me.

hoylejwinston@gmail.com