A method for monitoring vehicle motion using a mobile device associated with a user, comprising: • receiving a trigger at an application executing on the mobile device in an idle state, wherein receiving the trigger comprises detecting that the user has breached a first geofence defining a first origin and a first radius, wherein the application is operable between the idle state, an in-detection state, and a drive state; • in response to the trigger, operating the application in the in-detection state, comprising: o collecting user activity data using at least one of a motion sensor of the mobile device and a location sensor of the mobile device, o determining a user activity state based on the user activity data according to a user activity model comprising: ▪ accumulating a series of activity updates extracted from the movement dataset; ▪ determining that the user activity state is a driving state based on a comparison between the series of activity updates and a predetermined pattern of activity updates associated with driving; o based on the user activity state, operating the application in the drive state; • in response to operating the application in the drive state: o collecting a movement dataset using at least one of the motion sensor and the location sensor, o analyzing the movement dataset to generate a set of vehicle movement characteristics; o detecting a cessation condition; o transitioning the application into the idle state in response to detecting the cessation condition, wherein the cessation condition comprises a speed value extracted from the movement dataset falling below a threshold value continuously over a predetermined time period; and • in response to operating the application in the idle state: o resetting a trigger condition comprising regenerating the first geofence with a second origin coincident with a location of the mobile device and a second radius, wherein satisfaction of the trigger condition generates the trigger. • receiving a trigger at an application executing on the mobile device in an idle state, wherein receiving the trigger comprises detecting that the user has breached a first geofence defining a first origin and a first radius, wherein the application is operable between the idle state, an in-detection state, and a drive state; • in response to the trigger, operating the application in the in-detection state, comprising: o collecting user activity data using at least one of a motion sensor of the mobile device and a location sensor of the mobile device, o determining a user activity state based on the user activity data according to a user activity model comprising: ▪ accumulating a series of activity updates extracted from the movement dataset; ▪ determining that the user activity state is a driving state based on a comparison between the series of activity updates and a predetermined pattern of activity updates associated with driving; o based on the user activity state, operating the application in the drive state; o collecting user activity data using at least one of a motion sensor of the mobile device and a location sensor of the mobile device, o determining a user activity state based on the user activity data according to a user activity model comprising: ▪ accumulating a series of activity updates extracted from the movement dataset; ▪ determining that the user activity state is a driving state based on a comparison between the series of activity updates and a predetermined pattern of activity updates associated with driving; ▪ accumulating a series of activity updates extracted from the movement dataset; ▪ determining that the user activity state is a driving state based on a comparison between the series of activity updates and a predetermined pattern of activity updates associated with driving; o based on the user activity state, operating the application in the drive state; • in response to operating the application in the drive state: o collecting a movement dataset using at least one of the motion sensor and the location sensor, o analyzing the movement dataset to generate a set of vehicle movement characteristics; o detecting a cessation condition; o transitioning the application into the idle state in response to detecting the cessation condition, wherein the cessation condition comprises a speed value extracted from the movement dataset falling below a threshold value continuously over a predetermined time period; and o collecting a movement dataset using at least one of the motion sensor and the location sensor, o analyzing the movement dataset to generate a set of vehicle movement characteristics; o detecting a cessation condition; o transitioning the application into the idle state in response to detecting the cessation condition, wherein the cessation condition comprises a speed value extracted from the movement dataset falling below a threshold value continuously over a predetermined time period; and • in response to operating the application in the idle state: o resetting a trigger condition comprising regenerating the first geofence with a second origin coincident with a location of the mobile device and a second radius, wherein satisfaction of the trigger condition generates the trigger. o resetting a trigger condition comprising regenerating the first geofence with a second origin coincident with a location of the mobile device and a second radius, wherein satisfaction of the trigger condition generates the trigger.