Canvas frontend