1. A computer-implemented method of assisting a user to design a user interface (UI), comprising: receiving a command to automatically generate a design for an incomplete UI design, the incomplete UI design comprising a user-selected UI component; identifying a design example comprising a corresponding UI component, similar to the user-selected UI component, and a recommended UI component; and providing the recommended UI component for display in the incomplete UI design.