Show HN: Time Cop – A simple, private, open-source time tracking app
timecop.app
timecop.app
I hate time-tracking, but it is a requirement of my job (grants that help pay for my job, really) and if I don't have an app handy, I tend to forget to record my time. I've tried numerous time-tracking apps on the app stores, but they've each fallen short for me in some way or another—many are too complicated, or don't _just work_, or cost more than I think is reasonable. Many necessitate sending data over the network for multi-device sync—a feature I have no need of, but can never disable.
Since time tracking is fairly simple, I decided to write my own app to scratch my own itch. I also decided to publish the app and use it as a learning experience—I've worked on parts of mobile apps before, and developed proof-of-concept mobile apps before, but I wanted to follow the process through from start to end. I also decided to localize it (using Google Translate) for the experience of doing so. My biggest take away from all of this is that the work required to create and manage a store presence (localization and especially localized screenshots) is almost an order of magnitude more work than programming the damned thing in the first place.
In any event, this is an app I made for myself. But if you want to use it or fork it for your own purposes, please do.
Strongly agree with this. I was fed up with all the messaging apps that compromise on security and privacy, so started building one just to be used within a family. Using this as a chance to learn Flutter and making it open-source with end-to-end encryption.
Not yet ready for prime-time so PRs are welcome: https://github.com/nileshtrivedi/family
For encryption, the idea was to keep things simple and have the QR code be the private key so that it's never transmitted. But another option is to use Matrix.org's E2E protocol which is a lot more work and requires a server.
Does it record also the times that the timers are started / stopped, or only the duration of time that the timers are on?
If you would like a promo code you can email me and I’ll get you sorted.
For time tracking, the best method I've found so far is just to use the Calendar app. I have a different calendar for each task type (meeting, development, project management, etc.) I put in the person or client/project in the event title, and use the notes field for details. It's quick and easy to edit time blocks by creating a new event and resizing it as needed. Visualization of how I'm spending my time in the weekly or monthly views is intuitive. Automatically syncs with all my devices.
No timers though, although admittedly I frequently forget to stop those anyway.
The /de/ page translates "fork away" with "weggabeln" which is really not what you meant (although it is really really funny).
A better translation would be "erstellen Sie Ihren eigenen Fork".
Knowing some French I know that the translations can be a bit.. special sometimes. For this app all I can hope for is than in most cases the poor translations are better than no translations.
"fork away" -> "Weggabelung" ... not much better :\
Summary:
> Offline only
> Export to .csv
> Fully private
> Full access to the db
Nicely done!
Perhaps it's because I'm so used to seeing marketing materials that always present features in a way that assumes you'll use them, but the "(or don't)" here caused me to actually laugh out loud and made the "no tracking / spying / advertising / etc" comment above more believable. Well done.
I went for an Apple Shortcut instead `speedy time tracker`.
However, I will switch to yours to show support!
It would definitely be nice to add shortcut capabilities in the future :)
-------
My Feedback:
- Starting/Stopping timers should happen on press of list item
- Editing should happen on swipe left (essentially swapping start and edit)
- Running times could be indicated in the list itself, no need for separate section "Running Timers"
- If, I want to resume, eg. Work, a dropdown appears, eventually leading to Work (total time)> Work (time1), Work (time2), which makes it hard to resume (Now I have to open the list)
I’ll play around with your other suggestions but not sure if I’ll keep them (but thank you for them!). I had fiddled with how things worked and settled on where it is now because it felt the most intuitive to myself. For example when I had the running timers in the main list itself I found it easy to forget that I had a timer running. Grouping all running timers in one spot helped cut that down without too much fuss otherwise.
I figured you had iteration already, and it's how you prefer things, so no biggies :).
But also thanks for your insights on the running timer ux
Shameless plug follows:
timelyapp.com is similar to WakaTime, except it keeps track of _all_ the programs you use on the desktop, and for how long (MacOS/Windows only). Timely also tracks when you leave/arrive at work/home/other locations (GPS, requires mobile app). We can't claim offline mode, but all tracked "memories" are 100% your-eyes-only.
Timely is a time tracker specifically built for people who are bad at remembering what they worked on/don't log hours frequently. Sice Timely's "memories" are recorded to-the-minute, you can easily log accurate timesheets, even if you only do so once a month.
(Disclaimer: I work on Timely)
Once I can figure out how to make one of those step-by-step walk-through tutorials I'll definitely add that to the app, because that functionality has absolutely 0 discoverability.
Thanks for the feedback!
If you would like a promo code, let me know and I'll set you up!
The goal of Stretchly is not to put a timer on your tasks, but simply to remind you that you shouldn't stay more than 20 minutes looking at your monitor without going to walk, stretch, look far through your window, etc.
#/bin/bash
while sleep 900; do
DATE=`date`
echo "Hello, what are you doing?" | espeak
DOING=`zenity -entry --text="what are you doing?"`
echo $DATE, $DOING >> ~/data/doing.txt
doneWorks on Windows (XP or newer) and Linux. Free.
Configurable time limits for micro/normal breaks, and a daily limit. Flashes a popup when nearing the limit, then blanks your screen and starts the break timer. Option to postpone the break a limited number of times, or skip the break. Tracks your postpone/skip history and overall usage history so you can be disappointed in yourself for skipping breaks too often. Auto-detects when you have been away from the computer and counts that as break time.
...there is no tracking / spying / advertising / etc
Thanks for contributing to make the world a little less sad!
This is perfect -- and will also be perfect for cooking large meals.
I think its killer features are the cross-platform support by default and the hot-reload—I found the hot-reload functionality so invaluable that I ended up jerry-rigging hot-reload into my current product at work.
You're right that it is definitely still rough in some places though. The libraries on pub.dev can be very hit-or-miss, and I definitely wasted some time trying various libraries from there before either giving up or rolling my functionality.
I too explored a mapping project using it a year or two ago now and ended up having to essentially create my own map view using mapbox APIs (unfortunately I don't have code that I can share from that project). That said, I find Flutter is at least relatively easy enough to implement things that you can't find from the ecosystem.
Nice app and congrats on getting it live :)
I use it at work for recording when I'm in meetings, when I'm actively developing, when I've researching, etc—things that I need to report but don't want to manually write down and things that aren't captured by things like screentime. I always have my phone with me and handy, whereas I don't always have my computer with my nor handy.