13 comments

  • kleiba3 days ago
    &quot;No signup needed&quot; is the way to go!<p>As the world has moved to everything online, I&#x27;ve gotten sick and tired of having to create a new account for every single service I might want to use. At the same time, I hate the idea of logging in with an account of one of the big leechers so that they can profile me even better.<p>I get that there are some things where it makes sense to have a personal account. But a lot of smaller stuff out there really has no excuse for forcing me to create an account - and I&#x27;m so annoyed by it that I mostly just don&#x27;t even bother trying out something I otherwise would.
    • desipenguin1 day ago
      &quot;Devices and Sync&quot; are &quot;Coming soon&quot;<p>I assume once that feature is available, account (thus Sign up) would become necessary.<p>I wish that feature is opt-in, so &quot;No Sign Up&quot; can remain available for those who do not need that feature.
    • heresjohnny3 days ago
      Fully agree, I dislike auth walls as well. It&#x27;s also great for distribution, so everybody wins.
  • Sateeshm1 day ago
    Well done!<p>I created a keyboard-based local storage based time and to-do tracker 3 years ago.<p>I was starting out in web dev and wrote it for my own use but moved on to other stuff - don&#x27;t think I even wrote any media queries. I think the codebase since, but just remembered I had it deployed on an internal site for testing - hackily removed a few things from it from the compiled JS and put it on Github.<p>Try it out here: <a href="https:&#x2F;&#x2F;trackey-beige.vercel.app&#x2F;" rel="nofollow">https:&#x2F;&#x2F;trackey-beige.vercel.app&#x2F;</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;sateeshsai&#x2F;trackey">https:&#x2F;&#x2F;github.com&#x2F;sateeshsai&#x2F;trackey</a> (compiled JS from a Svelte 3 codebase I lost to time)
  • czhu123 days ago
    Love stuff that uses local storage!<p>I built <a href="https:&#x2F;&#x2F;reframe.canine.sh" rel="nofollow">https:&#x2F;&#x2F;reframe.canine.sh</a> as a tool for managing dashboards of little apps then set it as my new tab page to quickly access a notepad and kanban board<p>This is the one I use: <a href="https:&#x2F;&#x2F;reframe.canine.sh&#x2F;czhu12" rel="nofollow">https:&#x2F;&#x2F;reframe.canine.sh&#x2F;czhu12</a><p>This actually seems useful enough that I’d consider replacing my pomodoro timer with it
    • heresjohnny3 days ago
      Aah love to hear that! I think you should be able to iframe it just fine unless you&#x27;re using an older Safari version.
    • nbbaier2 days ago
      Reframe is really neat. Is the source out there?
      • czhu122 days ago
        Was a pretty quick hack to learn remix, source is here. Almost all the code is in two files<p><a href="https:&#x2F;&#x2F;github.com&#x2F;czhu12&#x2F;reframe">https:&#x2F;&#x2F;github.com&#x2F;czhu12&#x2F;reframe</a>
  • vladde3 days ago
    This web app reminds me of the manifesto <a href="https:&#x2F;&#x2F;rosswintle.uk&#x2F;2024&#x2F;02&#x2F;a-manifesto-for-small-static-web-apps&#x2F;" rel="nofollow">https:&#x2F;&#x2F;rosswintle.uk&#x2F;2024&#x2F;02&#x2F;a-manifesto-for-small-static-w...</a> , which I think is a good thing!
  • maaaaattttt3 days ago
    I&#x27;ve been meaning to build something similar for some time and never got the chance to do it. What you built looks really good and does almost everything I had planned.<p>The main feature missing for me (the one I wanted to build first if I ever started) is a dashboard with all (start&#x2F;pause) buttons with current tasks ready to be clicked. Let&#x27;s say I&#x27;m working on ticket TICK-123 and also &quot;customer care&quot;. Then I would love to have a dashboard with a start&#x2F;pause button for TICK-123, &quot;customer care&quot; and a &quot;new task&quot; one that behaves like the &quot;Start stopwatch&quot; you have. That way start&#x2F;pause is one click away and tracking time is less in the way of what I&#x27;m currently doing.
    • heresjohnny3 days ago
      Great idea, thank you! Shorthands are on my list. Would it work if you could immediately start a stopwatch + assign a tag, such as “customer care” with a single click?<p>I preferably don’t want to include projects&#x2F;folders&#x2F;tickets, this is what I found cumbersome to deal with in other trackers.
      • maaaaattttt3 days ago
        yes, especially if this stopwatch-tag combo became visible on the home page after that until I decide to hide&#x2F;delete them
  • jameshoughton3 days ago
    Very nice, well done! I built something similar (although with far fewer features): <a href="https:&#x2F;&#x2F;jameswhoughton.github.io&#x2F;timetracker&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jameswhoughton.github.io&#x2F;timetracker&#x2F;</a><p>Some suggestions:<p>- Have the option to round the times when reporting (for example, at my work we log in 15m increments).<p>- Have the option to see the combined total grouped by description&#x2F;tag, e.g. if I&#x27;m working on a ticket ABC-123 and I log multiple entries throughout the day, it would be nice to see the total time spent on the ticket without having to manually calculate.<p>- It could also be useful to add a button to copy the description&#x2F;tags, for example if you needed to transfer your times to an internal system.
    • heresjohnny3 days ago
      Thank you! So nice to see it&#x27;s something others were looking into as well. And these are great ideas, I&#x27;ll add them to the list. Could you specifically clarify on the grouping? I already show time spent by tag - anything you&#x27;re missing? Thanks again :)
      • jameshoughton2 days ago
        Tags work for more general categories, I was thinking at a more granular level e.g.<p>--<p>Time entries<p>--<p>Ticket 123 - 0.5hrs<p>Stand up - 0.25hrs<p>Ticket 123 - 1.25hrs<p>--<p>Total time<p>--<p>Ticket 123 - 1.75hrs<p>Stand up - 0.25hrs<p>I guess you could achieve this with tags but you would potentially end up with lots of tags to manage!
  • sebastienbarre3 days ago
    Time tracking 101, you should never allow two time trackers to run at the same time (especially if you are planning on tracking and billing your time on a project funded by the government). Starting a timer should always stop all the others.
    • heresjohnny3 days ago
      Good one - that sounds like great optional behavior. Having said that, I consciously built it this way. I personally use simultaneous stopwatches to track a full day of work and tagged items within that day, such as a specific meeting (each another stopwatch).<p>The &quot;Personal Time&quot; option subsequently merges the overlapping hours so that on Statistics, I&#x27;m looking at time spent in real life (as a person), while still being able to zoom in on specifically tagged items.
  • bflesch3 days ago
    Congrats for shipping!<p>Unfortunately for me the website is very slow due to the animations. When I hover a button it takes 1 second before the background color changes.
    • heresjohnny3 days ago
      Ah - thanks for reporting. Any details on the device you&#x27;re using? For me it&#x27;s working fine on iPhone&#x2F;Mac. In any case, I had to cut some corners with JS for the UI library I&#x27;m using. These should be CSS-only animations, period. Thanks.
  • ikurei3 days ago
    Congrats on shipping! I&#x27;ll try it out on my next freelancing project.<p>I love this approach of local-first webapp, with optional sync afterwards. I&#x27;ve been working on a journaling&#x2F;note-taking app with a similar approach, but finishing pet projects on limited free time is hard.<p>Could you share a bit more about the stack and your experience building it? What was challenging?
    • heresjohnny3 days ago
      Yeah this took quite some weekends :) Just hang in there and you&#x27;ll get a project shipped too!<p>I&#x27;m using Angular (yes, really!), and some date-fns utils for the time-related logic. Other than that, it&#x27;s all custom except for the Catalyst UI library and Frappe charts. The hardest thing to solve was the event-driven foundation (which I&#x27;ll use for sync support later).<p>Initially, I started out with Automerge&#x2F;Yjs but figured that simple event sourcing would be good enough given there&#x27;s no collaborative&#x2F;concurrent use case. The benefit of that is that I can actually explain the logic. Not saying those projects lack documentation (they don&#x27;t), I&#x27;m just not comfortable shipping a CRDT that I can&#x27;t explain e2e. Might change once I have time to dive in properly.
      • ikurei2 days ago
        Thanks a lot for your answer!<p>How about the database? You&#x27;re just using IndexedDB for the persistence? How was the experience of working with it?
        • pwb2 days ago
          Similar I&#x27;d love to hear anything you can share about how you are persisting the data. I&#x27;ve been working on the web version of the recommendation todo app that I&#x27;m building and so far, since I know basically nothing about web development, I&#x27;m storing everything in cookies *ducks*.
  • JTyQZSnP3cQGa8B3 days ago
    I think we should stop relying on unreliable web sites and go back to the roots: <a href="https:&#x2F;&#x2F;timewarrior.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;timewarrior.net&#x2F;</a>
    • heresjohnny3 days ago
      Any reason why you think it&#x27;s unreliable? Note my aim is to make it a PWA in the future, meaning it would be installed on your machine and run perfectly fine without an internet connection.
  • gradientsrneat2 days ago
    See also Super Productivity.
  • crashabr3 days ago
    [dead]