Barliman is a prototype smart editor capable of program synthesis: given part of a program and a set of tests to pass, Barliman attempts to complete the program for you. This capability enables an interesting kind of test-driven development with partially-instantiated programs. Synthesis is performed using a relational interpreter written in the EDSL miniKanren, which will be familiar to users of Clojure’s `core.logic`. We will demonstrate the Barliman programming experience with several examples, showing what currently works well and what does not, discussing the implementation and where the difficulties come from. We will also discuss the design philosophies and grander vision of Barliman as a tool for thought, and what it will take to get us there.