User action logger for Linux, Windows and Mac

Name: ActivityLogger

Type: native, multi platform library/worker

We need a new library that is well written (clean, maintainable code) and preserves the functionality of the old app to track user activities on a computer. Later on we would like to include the library in the Electon app.

Supported OS:

- Windows XP or higher

- Linux (Debian, Ubuntu)

- MacOS 10.4 or higher

Supported browsers (read on):

- Chrome

- Firefox

- Safari

- Internet Explorer

- Edge


- runs in background

- collects a combination of process name and windows title and (*)optional URL field

(*) optional URL field is filled only when process is a browser. URL is collected from the browser on every change of the browser tab and counts as a new action.

- collects information on when the user was last active by counting when was the last key pressed or mouse clicked. Continuous press counts as being active. The latch interval is configurable. Example: Latch interval is configured to 1 minute. A user typed ‘a’ key and went away from the computer at 10h00m00s. We count The time from 10h00m00s to 10h01m00s as the user being active. Every time user presses a key or moves a mouse or clicks a mouse the latch resets.

- stores all the data in persistent location belonging to currently logged in system user

- sends stored data to server every 5 minutes (remote configurable batch size and period)

Proposed project structure:

- collector, responsible for gathering data from processes

- worker, main process, responsible for running the `collector` in background, reconfigurable

- database, responsible for persistently storing the data from `collector`

- dispatcher, responsible for periodical dispatch of stored data to a remote server, handles connection errors, has retry strategy

Proposed languages:

- C

- Objective-C

- C++

Proposed data structure:

- outbound action message:


type: ‘window-switch’,

dateTime: <time in epoch with miliseconds after ., ie. 1493043764.432>,

windowTitle: ‘Google Chrome’,

processName: ‘[url removed, login to view]’,

browser: {

url: ‘[url removed, login to view]‘



- outbound activity message:


type: ‘activity’,

startDateTime: <epoch>,

endDateTime: <epoch>,


- inbound config:


type: ‘configure’,



Proposed libraries:

- SQLite for data storage (data is not encrypted and is located in user-related directory)


- the library worker should be reconfigurable at runtime so new settings coming from remote can be applied immediately when server says so

- the lib does not have to query NTP. It should trust the system clock

- all collected times should be in UTC

- the library should consume minimal CPU power

- the library should use JSON to communicate

- the library should take care of computer going to sleep or hibernation. Latch is ignored in this case.

Taidot: C-ohjelmointi, C++ -ohjelmointi, Object Oriented Programming (OOP), Objective C, RESTful

Näytä lisää: how to make a keylogger, python keylogger mac, pyhook for mac, selfspy, simple keylogger python, rescuetime, business name window cleaning, linux windows mac, android change activity package name eclipse, desktop activity, exe name window handle, personal activity logger, file name window handle, activity logger, media catalog linux windows mac, symbian activity logger, desktop activity viewer real time, converter file name window shortname, setup window 2003 server smtp errors, x11 getting name window

Tietoa työnantajasta:
( 6 arvostelua ) Wrocław, Poland

Projektin tunnus: #15118541

Myönnetty käyttäjälle:


Hi. I'm a programmer from Russia with strong skills in C++. You can see the full list of my skills on my profile page. I performed a similar job for Windows and Linux. It concerned keyboard hook and mapping of let Lisää

$27 USD / tunti
(7 Arvostelua)

7 freelanceria on tarjonnut keskimäärin %project_bid_stats_avg_sub_18% %project_currencyDetails_sign_sub_19%/tunti tähän työhön


Hello,Sir please visit our team site:[login to view URL] High-Quality+fast development+good credit+fast communication=My work method! My first aim is to provide you quality and professional task. i have dev Lisää

$41 USD / tunti
(34 arvostelua)

** Please consider this is not an auto bid ** Hi. I checked your project with great care. I have rich experience on such utility apps, Please check my wonderful review and contact me. Thanks

$41 USD / tunti
(12 arvostelua)

Dear sir. I have full experience in Windows,Linux,MAc programming I can develop action logger for you. If you hire me, I will do my best to work on your project to make the excellent result for you and your customers Lisää

$39 USD / tunti
(15 arvostelua)

Hello hiring manager I read your details and I understand is that you wish to develop ActivityLogger for new library that is well written (clean, maintainable code) and preserves the functionality of the old app to Lisää

$25 USD / tunti
(6 arvostelua)

Hi, I can start work on your project immediately once you confirm me and i am also open for further discussion if you want. I have 7+ years in web designing & development with good experience in following skills Lisää

$40 USD / tunti
(1 arvostelu)

We are a team of engineers having expertise on embedded domain. We have worked on several embedded linux/android SBC like AM335x-sk, Wandboard, Dragon Board, Pi2&Pi3, Beagle Bone Black, C.H.I.P etc as well as Microcont Lisää

$55 USD / tunti
(0 arvostelua)