Working on a FOSS tool to convert raw work time data into a clean report for your boss or client. Any interest?
from sebastiancarlos@lemmy.sdf.org to linux@lemmy.ml on 22 Sep 2024 01:43
https://lemmy.sdf.org/post/22678487

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).

#linux

threaded - newest

NuXCOM_90Percent@lemmy.zip on 22 Sep 2024 01:48 next collapse

So … it is a tool to automate time fraud?

Make sure to put this front and center on your CV

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 02:01 collapse

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! :)

NuXCOM_90Percent@lemmy.zip on 22 Sep 2024 02:07 collapse

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”

Sanctus@lemmy.world on 22 Sep 2024 02:20 next collapse

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.

NuXCOM_90Percent@lemmy.zip on 22 Sep 2024 02:23 next collapse

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.

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 02:42 next collapse

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.

Enkers@sh.itjust.works on 22 Sep 2024 02:51 next collapse

Boss makes a dollar, I make a dime.
That’s why I use this app to normalize time.

Evotech@lemmy.world on 22 Sep 2024 05:54 collapse

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

NuXCOM_90Percent@lemmy.zip on 22 Sep 2024 14:02 collapse

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.

C126@sh.itjust.works on 22 Sep 2024 02:33 collapse

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.

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 02:35 next collapse

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.

Jimmycrackcrack@lemmy.ml on 22 Sep 2024 07:10 collapse

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.

Palacegalleryratio@hexbear.net on 22 Sep 2024 12:58 collapse

I mean if you want to do time fraud you pretty much just can. You can start tracking a task at 9am then immediately go to make a coffee and chat to a coworker until half 9 to run up the clock. You really don’t need a fancy tool for that.

However a tool to make data more digestible and readable shows a level of interest in presentation of data. I would be less concerned about that. Someone willfully doing time fraud wouldn’t advertise it.

masterofn001@lemmy.ca on 22 Sep 2024 02:32 next collapse

I don’t get it.

Where’s Saddam?

I’ll head back to linuxmemes now.

semperverus@lemmy.world on 22 Sep 2024 05:25 collapse

Lmao, its everywhere now isnt it

GolfNovemberUniform@lemmy.ml on 22 Sep 2024 08:40 collapse

Idk what it is so I guess it’s not everywhere.

Nickm8@lemmy.world on 22 Sep 2024 04:31 next collapse

I would use it, let me know if you need any testing or feedback. What is it written in?

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 05:09 collapse

Python

Grass@sh.itjust.works on 22 Sep 2024 05:02 next collapse

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.

smiletolerantly@awful.systems on 22 Sep 2024 06:49 next collapse

Kimai is a great option

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 18:36 collapse

An existing FOSS time tracking software I like is Timewarrior (CLI)

raspberriesareyummy@lemmy.world on 22 Sep 2024 06:19 next collapse

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 :)

flashgnash@lemm.ee on 22 Sep 2024 07:21 collapse

Could have some kind of floating timer window/widget in your bar so you don’t forget

raspberriesareyummy@lemmy.world on 22 Sep 2024 09:40 collapse

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

flashgnash@lemm.ee on 22 Sep 2024 20:28 collapse

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

raspberriesareyummy@lemmy.world on 23 Sep 2024 19:18 collapse

Big red button might help, but when I’m “in the zone” with coding, normally I forget everything around me :) One moment I’ll be browsing the web on my leisure time, and then I have an idea for one of my work projects, switch to that and “wake up” 8 hours later with lots of stuff done and no idea when I “clocked in” - that’s usually when I do “ls -lR” on my project folders and check file timestamps :D

flashgnash@lemm.ee on 23 Sep 2024 22:56 collapse

This makes me glad not to be on the clock, I suck at remembering to do that stuff.

Though I tend to hyper focus on one thing for 4 or 5 hours at a time anyway

solrize@lemmy.world on 22 Sep 2024 06:47 next collapse

Org mode has a time tracking feature, dunno about report generation.

totoro@slrpnk.net on 22 Sep 2024 08:01 next collapse

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.

joranvar@feddit.nl on 22 Sep 2024 11:36 next collapse

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.

01189998819991197253@infosec.pub on 22 Sep 2024 13:27 next collapse

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.

yetiftw@lemmy.world on 22 Sep 2024 14:25 next collapse

“they” uses the same number of characters as “s/he” and flows more naturally

01189998819991197253@infosec.pub on 22 Sep 2024 14:47 next collapse

Sure, sure. But s/he reading this might appreciate the use of special characters to improve his/her password entropy.

jjlinux@lemmy.ml on 22 Sep 2024 14:49 next collapse

Wao. What’s with the “edu-indoctrination”?

yetiftw@lemmy.world on 22 Sep 2024 15:42 next collapse

huh?

trashgirlfriend@lemmy.world on 22 Sep 2024 23:33 collapse

You will be assimilated

jjlinux@lemmy.ml on 22 Sep 2024 23:56 collapse

Ok, now I’m freaking out 😱

penquin@lemm.ee on 22 Sep 2024 15:40 collapse

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.

01189998819991197253@infosec.pub on 24 Sep 2024 00:12 collapse

Mainly, this is because I was writing official docs, then took a quick Lemmy break, but my brain stayed “official” hahahahaha that’s all. ‘they’ should absolutely be used in this colloquial context.

penquin@lemm.ee on 24 Sep 2024 00:59 collapse

No judgment at all, I’m just wondering. :)

01189998819991197253@infosec.pub on 24 Sep 2024 01:25 collapse

No judgement felt lol

Someone else called me out on it, too, and I decided to have fun with it instead of fixing it hahahaha if you can’t laugh at yourself…

olafurp@lemmy.world on 23 Sep 2024 23:34 collapse

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.

Your cultural context way vary.

01189998819991197253@infosec.pub on 24 Sep 2024 00:08 collapse

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.

delirious_owl@discuss.online on 22 Sep 2024 15:08 next collapse

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?

naeap@sopuli.xyz on 23 Sep 2024 08:34 collapse

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.

But maybe I understood you wrong…?

boaratio@lemmy.world on 22 Sep 2024 17:49 next collapse

OT: What program are these diagrams made with? I’ve seen them floating around recently and really like the looks of them.

UnfairUtan@lemmy.world on 22 Sep 2024 17:52 next collapse

Looks like excalidraw to me, but not sure!

ShadyGrove@lemmy.world on 22 Sep 2024 17:53 next collapse

This looks like draw.io to me, but I could be wrong.

sebastiancarlos@lemmy.sdf.org on 22 Sep 2024 18:13 collapse

It’s Exclidraw (dark mode)

boaratio@lemmy.world on 22 Sep 2024 20:56 collapse

Thanks! I use Excalidraw occasionally, but only in light mode. Derp.

toastal@lemmy.ml on 24 Sep 2024 10:08 collapse

“FOSS” here doesn’t mean hosted exclusively on proprietary Microsoft GitHub, right?

sebastiancarlos@lemmy.sdf.org on 24 Sep 2024 15:55 collapse

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.