▲ | Show HN: TimeRetain – A browser-based personal time tracker, no sign-up needed(timeretain.com) | |||||||||||||||||||||||||
60 points by heresjohnny 4 days ago | 26 comments | ||||||||||||||||||||||||||
Hi HN, I built TimeRetain: a time tracker for individuals that runs 100% in your browser. No sign up, no personal data stored, and free while I’m working on the beta. Click the white demo banner to check it out quickly :) I’m using it to track my hours at work (e.g., overtime, and what I’ve done so I come prepared for stand up). In 2023 I launched it here [1], but with a back-end. After I became interested in local-first, I realized JS could handle everything Postgres did - so I ported it. Time data now never leaves your browser and the app will ping you to run an export from time to time. I also followed up on some of the feedback in the previous thread (it now has a pause button, a dedicated data export page, no longer relies on a working back-end, and I fixed the spacing in the name). It’s not a true local first app just yet (e.g., it's not a PWA, and backing up using the File System API is on my list), but I plan on making it one should it gain some traction. One of the other things I might add is encrypted at rest storage and sync of events, for which the foundation is done (it’s event-based and events are ordered using a HLC timestamp in IndexedDB). I wonder, though: is multi-device sync even necessary? I would much rather prefer not to store any personal data at all, even if it’s encrypted. Do you need sync? And if so, what would be your ideal solution? Would love to hear your thoughts in general. Thank you! | ||||||||||||||||||||||||||
▲ | kleiba 3 days ago | parent | next [-] | |||||||||||||||||||||||||
"No signup needed" is the way to go! As the world has moved to everything online, I'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. 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'm so annoyed by it that I mostly just don't even bother trying out something I otherwise would. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | Sateeshm 2 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Well done! I created a keyboard-based local storage based time and to-do tracker 3 years ago. I was starting out in web dev and wrote it for my own use but moved on to other stuff - don'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. Try it out here: https://trackey-beige.vercel.app/ https://github.com/sateeshsai/trackey (compiled JS from a Svelte 3 codebase I lost to time) | ||||||||||||||||||||||||||
▲ | czhu12 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Love stuff that uses local storage! I built https://reframe.canine.sh 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 This is the one I use: https://reframe.canine.sh/czhu12 This actually seems useful enough that I’d consider replacing my pomodoro timer with it | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | vladde 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
This web app reminds me of the manifesto https://rosswintle.uk/2024/02/a-manifesto-for-small-static-w... , which I think is a good thing! | ||||||||||||||||||||||||||
▲ | maaaaattttt 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
I'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. The main feature missing for me (the one I wanted to build first if I ever started) is a dashboard with all (start/pause) buttons with current tasks ready to be clicked. Let's say I'm working on ticket TICK-123 and also "customer care". Then I would love to have a dashboard with a start/pause button for TICK-123, "customer care" and a "new task" one that behaves like the "Start stopwatch" you have. That way start/pause is one click away and tracking time is less in the way of what I'm currently doing. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | jameshoughton 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Very nice, well done! I built something similar (although with far fewer features): https://jameswhoughton.github.io/timetracker/ Some suggestions: - Have the option to round the times when reporting (for example, at my work we log in 15m increments). - Have the option to see the combined total grouped by description/tag, e.g. if I'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. - It could also be useful to add a button to copy the description/tags, for example if you needed to transfer your times to an internal system. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | sebastienbarre 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | bflesch 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Congrats for shipping! 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | ikurei 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Congrats on shipping! I'll try it out on my next freelancing project. I love this approach of local-first webapp, with optional sync afterwards. I've been working on a journaling/note-taking app with a similar approach, but finishing pet projects on limited free time is hard. Could you share a bit more about the stack and your experience building it? What was challenging? | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | JTyQZSnP3cQGa8B 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
I think we should stop relying on unreliable web sites and go back to the roots: https://timewarrior.net/ | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | gradientsrneat 3 days ago | parent | prev [-] | |||||||||||||||||||||||||
See also Super Productivity. |