There is a growing trend towards systems in multiple distributed locations that generate massive amounts of data. Distributed inference algorithms enable these systems to combine noisy observations without communicating them to a central location. However, the design and implementation of distributed algorithms is very challenging. We propose a combination of overlays and declarative programming to simplify the design of distributed inference algorithms. We demonstrate the effectiveness of our approach on a number of inference algorithms and evaluate the implementation on a suite of datasets in a real network deployment.