I'm working on improving my PCB synthesis system; given a KiCad schematic and some extra metadata it can currently lay out and route an entire double-sided PCB with about 50 components in 4 minutes without any human intervention.
I wrote it because I was too lazy to learn how to use KiCad's layout features properly, and thought 'how hard can it be?'. Several months later, I had this.
It's not intended to compete with Altium etc. but it certainly produces compact, valid and fully design-rule-compliant boards with much less work that doing it myself or using one of the low-cost remote labour platforms.
It uses constraint logic programming to solve the hard parts of the problem. Hierarchical decomposition of the circuit design helps reduce combinatorial explosion, which was a show-stopper for early versions of the system. Current indications are that I may be able to scale it further in the longer term to deal with more complex design scenarios and larger boards, without hitting the exponential cliff.