Understanding biological circuits that perform computations is a central problem in biology. Circuits can be made of proteins inside the cells, or cells that communicate with each other in a tissue. From the point of view of physics, the circuits offer the challenge of understanding the collective behavior of interacting molecular machines designed to operate with remarkable precision under strong biological constraints. Our lab studies biological circuits using a combined experimental and theoretical approach, aiming to uncover general underlying principles that govern their functioning and evolution.