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

  • 𝕸𝖔𝖘𝖘@infosec.pub
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    5
    ·
    edit-2
    3 months ago

    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
      link
      fedilink
      arrow-up
      29
      arrow-down
      3
      ·
      3 months ago

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

    • Caveman@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      3 months ago

      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.

      • 𝕸𝖔𝖘𝖘@infosec.pub
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        3 months ago

        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.

  • totoro@slrpnk.net
    link
    fedilink
    arrow-up
    17
    arrow-down
    1
    ·
    3 months ago

    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.

  • delirious_owl@discuss.online
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    3 months ago

    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
      link
      fedilink
      arrow-up
      4
      ·
      3 months ago

      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…?

  • joranvar@feddit.nl
    link
    fedilink
    arrow-up
    8
    ·
    3 months ago

    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.

  • boaratio@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    3 months ago

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

  • raspberriesareyummy@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    3 months ago

    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
      link
      fedilink
      arrow-up
      2
      ·
      3 months ago

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

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        3 months ago

        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
          link
          fedilink
          arrow-up
          1
          ·
          3 months ago

          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
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            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
              link
              fedilink
              arrow-up
              1
              ·
              3 months ago

              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

  • Grass@sh.itjust.works
    link
    fedilink
    arrow-up
    5
    ·
    3 months ago

    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.

  • Nickm8@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

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

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    4
    ·
    3 months ago

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

    • sebastiancarlos@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      3 months ago

      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.

    • sebastiancarlos@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      21
      ·
      3 months ago

      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
        link
        fedilink
        arrow-up
        1
        arrow-down
        26
        ·
        3 months ago

        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
          link
          fedilink
          English
          arrow-up
          26
          ·
          3 months ago

          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.

          • C126@sh.itjust.works
            link
            fedilink
            arrow-up
            5
            ·
            3 months ago

            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.orgOP
              link
              fedilink
              arrow-up
              11
              arrow-down
              1
              ·
              edit-2
              3 months ago

              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
              link
              fedilink
              arrow-up
              5
              ·
              3 months ago

              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.

          • NuXCOM_90Percent@lemmy.zip
            link
            fedilink
            arrow-up
            3
            arrow-down
            12
            ·
            3 months ago

            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.orgOP
              link
              fedilink
              arrow-up
              19
              arrow-down
              1
              ·
              edit-2
              3 months ago

              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.

            • Evotech@lemmy.world
              link
              fedilink
              arrow-up
              9
              ·
              edit-2
              3 months ago

              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
                link
                fedilink
                arrow-up
                2
                arrow-down
                1
                ·
                3 months ago

                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.