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).
OT: What program are these diagrams made with? I’ve seen them floating around recently and really like the looks of them.
It’s Exclidraw (dark mode)
Thanks! I use Excalidraw occasionally, but only in light mode. Derp.
Looks like excalidraw to me, but not sure!
This looks like draw.io to me, but I could be wrong.
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.
“they” uses the same number of characters as “s/he” and flows more naturally
I’m not sure why “they” isn’t used more often to refer to the unknown. This is what we were taught back home when we learned English.
Sure, sure. But s/he reading this might appreciate the use of special characters to improve his/her password entropy.
Wao. What’s with the “edu-indoctrination”?
You will be assimilated
Ok, now I’m freaking out 😱
huh?
I just say I worked X hours per day, above my log entries describing what I did that day. Why do they need anything more than that?
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.
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.
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 :)
Could have some kind of floating timer window/widget in your bar so you don’t forget
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
Ah I see. At my previous company we developed an in house clock in/out system that I always forgot to use. Never did but I wanted to build a big red button with an Arduino that clocked me in and out with the API and showed a timer
Org mode has a time tracking feature, dunno about report generation.
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.
An existing FOSS time tracking software I like is Timewarrior (CLI)
Kimai is a great option
I don’t get it.
Where’s Saddam?
I’ll head back to linuxmemes now.
Lmao, its everywhere now isnt it
Idk what it is so I guess it’s not everywhere.
I would use it, let me know if you need any testing or feedback. What is it written in?
Python
So … it is a tool to automate time fraud?
Make sure to put this front and center on your CV
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”
Am I missing something? It looks like OP has to track their time and send it to a client or superior. What is wrong with making a tool to track your time over using excel? I’m sure if they wanted it through a specific end point they would have provided that.
The logic in the flowchart appears to take in data and mainuplate it based on normalization and ratios to fill the day. So it outputs a report with time that doesn’t precisely match the tracked data, but looks nicer for the boss.
I guess if, as this person says, the intended use is made clear then presumably so long as the original logs from which the report was generated are retained then there shouldn’t really be an issue. Make your nice, digestible reports that normalise over a workday and give a more grand overview of progress, and if they smell a bit too rosy or you just sometimes need a more granular accounting of time then clients/bosses can request the original raw data from the contractor/employee. Maybe this software itself should include some ability to retain a log of the processing that was done so that the relationship between its generated reports and the source data can be more clearly audited if some kind of a trust issue arises.
The hope I guess would be that you make it clear that this is a more executive summary style of report that you’ve added as a courtesy because it’s more useful in context and that’s hopefully enough for whoever you’re reporting to but if they want more transparency or detail it’s all there for them too.
Exactly! My tool is designed to work with existing time-tracking tools by processing their output. You can think of it as a post-processor that helps clean up and format the data.
Since there are already plenty of time-tracking tools out there (both CLI and GUI), I wanted something that could act as a flexible add-on for them.
Tracking time is fine.
Normalizing your time to the hours you were supposed to work is a massive no no. Especially if you are expected to break down your hours per project.
I mean, you obviously do it. But you never put it in writing.
Boss makes a dollar, I make a dime.
That’s why I use this app to normalize time.Honestly I think it’s good. The amount of context switching and with breaks, working on several things at once. To normalize that down to a working day seems reasonable
It isn’t about being reasonable.
If you are expected to track your time to this degree (and, to make it clear, the majority of employers actively don’t want you to), there is a reason. That reason usually being different funding sources. Generally a mix of grants and clients.
And if a client or grant source finds out you are lying about those? Maybe you only had enough work to do 34 hours instead of 40 hours in one week. Would you be cool paying extra because the guy repairing your muffler had a slow week?
And if people think being proud of a tool that openly talks about what everyone else silently does isn’t a red flag for employers? Hey, its a great job market so I am sure none of that will matter.
Totally understand your perspective, and I’m not here to push back against it. You’ve got a valid point.
I’ll just add that there are already commercial tools that do similar things to what I’m building. It’s interesting to consider how perceptions might shift if a tool were released by a company rather than a solo developer. Sometimes the context influences how a tool is interpreted, even if the underlying functionality remains the same. For what it’s worth, I have no commercial intent behind this.