Working on a FOSS tool to convert raw work time data into a clean report for your boss or client. Any interest?
It's almost done (it would take one or two weeks to clean it up for FOSS release). It's a CLI tool. It works great for my use case, but I'm wondering if there's any interest in a tool like this.
Say you have a simple time-tracking tool that tracks what you do daily. The only problem is that there are gaps and whatnot, which might not look nice if you need to send it to someone else. This tool fixes pretty much all of that.
Main format is a JSON with a "description", and either "duration" or a "start"/"end" pair. It supports the Timewarrior format out of the box (CLI Time tracking tool).
Outputting clean reports is one thing, but "normalizing" the time to make it look better, or as though I'm more busy, is something else entirely. I appreciate the effort, but this tool has the very real potential to get a contractor or employee sued for time fraud. I highly recommend against normalization of time data. The contractor either worked a full 30 or s/he didn't. It's black and white. Saying s/he worked for 30 when s/he worked for 25 is a lie, and subject to lawsuits and further legal action.
Don't know why you would jump to that conclusion straight away. Mín billable hours and time spent thinking on the problem is a thing. Taking regular 5m breaks (pomodoro technique) also helps with getting things done and so on and people should be paid for it.
I mean, you should technically stop the clock if the wife calls to ask if there's pasta at home but nobody really cares.
Adding significant amount of hours to a report would not be ethical but adjusting 10% to get paid for time laying in bed thinking about problems is still ethical from my point of view. It's way more value than most meetings.
What someone feels is ethical and what may be legal don't always match. From a legal point of view in every country I've worked at as a contractor, "time laying in bed thinking about problems" isn't billable time.
As a personal time management solution, I don't see any issues here. As a billable time report maker, it has the very real potential to get the user into legal turmoil.
Use at your own risk and made damn sure that the laws match your idea of ethical billable hours, is all I'm saying.
This sounds really cool. I have actually made something similar (unpublished and quite hacky though).
I work as a self-employed contractor and must report my times in varying standardised formats, depending on the client or agency I am working with. My input data comes from TimeWarrior (like yours) and I usually just output CSV data so I can copy-paste that into a provided excel template.
Quantizing the data is usually the most essential step as the templates often restrict accuracy. I find it strange that many of the comments here presume this kind of transformation to be fraudulent.
Sometimes I work on a larger project that is split up in different sub projects, that were sold separately and are maybe paid by different departments. So I need to at least spilt those up.
Also it's often easier to follow what exactly was done, when I differentiate more between my tasks and not just put a collective line there - just like small commits are more helpful than one large one.
I do my time tracking in org-mode, and export it to JIRA once a day or so. It is quite a specific/tailored setup, written in a mix of elisp and, well, org-mode (specific names and tags are used to configure some settings), but I'd love to look at this tool to see if I can extend my workflow by using it for the "massaging into a nicer shape" part. I might end up writing some extensions for either side (org-mode input format and JIRA REST calls output format).
My current tooling quantizes everything by rounding start and end times to the nearest full 15 minutes, and starting a new task at the end time of the previous one when clocking in, so that my team lead does not have to report so many fractions of hours to higher layers.
As someone who works atrocius times of their own volition & has to create a clean timesheet every end of the month, this is a great idea -buyt there are too many special rules to consider imo - also I never properly track time (keep forgetting) but reconstruct work times from emails, chats & calendar entries :)
The problem is working on different computers & sometimes switching back and forth between private time and work time. That'd require actual button presses or something to "clock" in/out
So this requires some kind of existing tracking software? Are there existing FOSS options for that part?
My current job doesn't need time tracking (yet?, some of my work is for the sister company) but a job I worked before had us clock in and out for specific projects on a computer, but the subscription ended and we were using a UI glitch to continue using it and literally cheat engine to make it still export the files for the office to use.
Yes, I’ll host the source code on GitHub. I could consider mirroring it on Sourcehut if there’s enough interest, but I prefer the PR and Issues workflow on GitHub for collaboration. Plus, more people tend to have GitHub accounts than GitLab or Sourcehut, which makes it easier for contributors.
I get the concern about Microsoft, and while I’m not a fan of the company, GitHub has advantages that are hard to beat, especially for community reach. As for OpenAI potentially using the code, personally I don’t mind if my own code gets used for AI training.
I’ll be using an MIT license, in case you're curious. Everyone is free to mirror it anywhere.
Hey, thanks for the comment. I get that it might be used for something shady, but that’s not the intention. The primary goal is to clean up raw time-tracking data into a format that’s easy to present to clients or supervisors, especially for contexts when small gaps or irregularities should be absent.
I imagine most professionals aren’t expected to account for every single minute of their workday. For example, if you’re switching tasks or taking short breaks. It’s more about reporting general productivity or overall progression of tasks, not trying to inflate hours.
Anyone aiming for 'time fraud' could probably find easier methods. My focus is to make life easier for people who already track their work but want cleaner, more digestible reports.
Appreciate the feedback though, helps me make sure the use case is clear! :)
Pretending the most important use of bit torrent is Linux ISO's is the kind of cya that people giggle at.
If a candidate I am interviewing has a tool to change their reported hours to me or clients on their public GitHub? That person is radioactive no matter how many times they say "but don't do anything naughty wink wink"