a method and system for automatically collecting and for analyzing information about time and work performed on a computer includes a hardware abstraction layer for monitoring activity on various user input devices . the system also includes the following elements : a data collector for monitoring certain portions of a user &# 39 ; s computer activity and for logging into a log file those certain portions of a user &# 39 ; s computer activity ; a data analyzer for determining by following user - defined rules showing which portions of those certain portions of a user &# 39 ; s computer activity constitutes continuous work activities , and how this work should be categorized by project and task with project ; and an external interface for building the rules defining work . the data collector includes a resident module , such as a tsr module , which extends the file system of the computer so that detailed records are kept of file activities . the data collector also routes information about file and keyboard activity , and tabulates and writes such information to a user &# 39 ; s disk periodically . the hardware abstraction layer is a software module which is interposed between actual physical user input devices and the data collector .