1. A mobile device comprising: at least one camera; an inertial sensor; a projector; one or more actuators coupled to the projector to adjust an alignment of the projector; a surface selection module configured to identify a projection surface using first data captured by the at least one camera, the first data providing three-dimensional information about points on the projection surface, wherein the three-dimensional information for an individual point on the projection surface provides a depth, an orientation and a contour for the individual point; an image rendering module configured to receive an image and modify the image based at least in part on the first data, the modifying causing the image to appear undistorted when projected by the projector on the projection surface; an image stabilization module configured to receive motion data from the inertial sensor and to stabilize the image on the projection surface by compensating for movement of the mobile device; and an image-tracking module configured to receive second data captured by the at least one camera, detect a change in position of the image on the projection surface based, at least in part, on the second data, and shift the image within a window of the projector, the shifting to maintain the image on the projection surface.