There are a variety of approaches to seismic sensing, which range from collecting sparse measurements with high-fidelity seismic stations to non-quantitative, post-earthquake surveys. The sparse nature of the high-fidelity stations and the inaccuracy of the surveys create the need for a high-density, semi-quantitative approach to seismic sensing. To fill this void, the UC Berkeley iShake project designed a mobile client-backend server architecture that uses sensor-equipped mobile devices to measure earthquake ground shaking. iShake provides the general public with a service to more easily contribute more quantitatively significant data to earthquake research by automating the data collection and reporting mechanisms via the iShake mobile application. The devices act as distributed sensors that enable measurements to be taken and transmitted with a cellular network connection. Shaking table testing was used to assess the quality of the measurements obtained from the iPhones and iPods on a benchmark of 150 ground motions. Once triggered by a shaking event, the devices transmit sensor data to a backend server for further processing. After a seismic event is verified by high-fidelity stations, filtering algorithms are used to detect falling phones, as well as device-specific responses to the event. A method was developed to determine the absolute orientation of a device to estimate the direction of first motion of a seismic event. A “virtual earthquake” pilot test was conducted on the UC Berkeley campus to verify the operation of the iShake system. By designing and fully implementing a system architecture, developing signal processing techniques unique to mobile sensing, and conducting shaking table tests to confirm the validity of the sensing platform, the iShake project serves as foundational work for further studies in seismic sensing on mobile devices.