Thursday 5:00 PM–5:40 PM in Central Park West (#6501)

A data scientist's guide to production web apps with Flask

Ali Vanderveld

Audience level:
Intermediate

Description

This is an overview of what I learned about web apps while building the Trending service for ShopRunner. It will focus on details that are critical to performant, production systems but that are often left out of the online literature aimed at data scientists. This will include dealing with updating data, enabling scrolling feeds, errors and the canonical use of HTTP status codes, and performance.

Abstract

This talk is aimed at data scientists who want to serve their model predictions but may be overwhelmed by the task at hand. The internet is full of guides on how to build simple web apps in Python, but there are some gaps between those and what one needs to know to build a production system. My goal with this talk is to fill in some of those gaps and discuss some of the design tradeoffs, using my experiences from building a production Flask app for ShopRunner.

ShopRunner is an online marketplace that provides faster checkout and shipping for over 100 retailers, including Newegg, Bloomingdale's, and Neiman Marcus. The app I will be discussing returns lists of products that are "trending" based on product views across the ShopRunner network. This is currently being used on our member homepage and as the main landing page for our mobile app.

I will cover the basics of building apps with Flask, and then I will give an introduction to several considerations that are important for building a performant, production API that your software engineer colleagues will want to use. This will include several aspects of the Flask app module itself and considerations for performance, including database and WSGI setup.

Subscribe to Receive PyData Updates

Subscribe