talk · community record
Inventory History as Pure Functions
As a proudly data-driven company dealing with physical goods, Stitch Fix has put lots of effort into inventory management. Tracer, the inventory history service, is a new project we have been building to enable more fine-grained analytics by providing precise inventory state at any given point of time. I will talk about how we design this "time machine" with functional programming principles to help us reason about stateful data, and how we implement it in Spark using Scala for the core and Python for the end-user APIs. This project also gives us a chance to explore a new way to build complex ETL pipelines; by chaining testable and composable transforming functions as a data flow.