weyewe. learning by doing.

business model, management system, and software Powered by Obtvse

Timesheet Tracker

timesheet illustration


Most of the law firm or consulting bills the customer based on the hours worked. Typically, in a given project/assignment, there are more than 5 people involved. Hence, every month, Human Resource department is busy in collating the time sheet (to extract the total hours worked and the details) from each project members. Furthermore, there can be parallel assignment at a given time. Hence, there will be more steps in collating the total hours worked.

The objective of this assignment is to automate the collating process and produce reports:

  1. How did we waste our resources? At what kind of work category (it can be in drafting letter, answering phone, writing report, or even we wasted too much time in transportation)

  2. Where did we waste our resources? At what project that most of our time goes to?

  3. Who wasted the resources? How each of our employee spend their time at (by project and by category).

What we did:

Of course, for every problem, there are solutions on the market, i.e: Microsoft Project among other things. However, we need each of the employee to do their own data entry. Furthermore, we want to reduce training hours in order to get the timesheet tracking started. Hence, we are going for custom solution using Rails and ExtJS.

With our solution, there are 3 roles: admin(create new users, create customer, create project, create work category), report_viewer (view the result), and data_entry (each user to input their own timesheet log).


To setup the application, admin has to create customer, project, and work categories. Each project belongs to customer. Each project has many timesheet_entry. Each timesheet_entry belongs to one work_categories (it has to be selected for analysis).

Example Report generated:

  1. In a given project, who wasted resources within the specified time period

employee_report_by_project 2. In a given project, what kind of activities are using our resources within the specified time period


The code

You can find it @github

Back to Blog