Elapsd
A simple time-since tracker to answer “How long has it been since I.... ?”
Features
- Quick Add, Add, and Skip logging flows
- Optional minimum or maximum intervals per event
- Calm caution/overdue visual status
- Event organization with categories
- Search/filter/sort support in event management
- Reports with per-event time-range analysis
- CSV export of log history
- Local-first storage with iCloud sync via CloudKit
- Offline support with sync status visibility
Screenshots - macOS
Screenshots - iOS
Use Cases
You're welcome to use it however you want :-) But, I get it... an example or two might make more sense.
Interval Type: Minimum
This was my original use case and why I wrote this. I take Tylenol fairly often, for reasons that's don't matter here. There are dosage recommendations with 4hr time limits between them. So, when I reach for the Tylenol, it's nice to know how long ago I last took them. My method for tracking that has been:
- switch over to my notepad in vscode
- search for "tylenol"
- look at the last entry
- do the math in my head to know how long it's been
- "cmd-shift-i" (to insert a new datetime stamp)
It works, but it's not great. Now, I:
- switch to Elapsd
- type 'ty' in the search
- click Quick Add
If it's been less than 4 hours since the last time I logged it, I get a warning asking if I'm sure, and can continue (against their recommendations) or try to wait. No thinking, no doing the math in my head.
That uses the Interval type Minimum, with 4 for the Interval and Hours for the Duration.
Use for anything you want to log that shouldn't be done more often than the interval you configure.
Interval Type: Maximum
I use this for things that should be done every so often, but aren't important enough to go in my calendar. For example, you should change your toothbrush at least every 3 months. (sooner if you've been sick, the bristles are frayed, etc)
- Event: Change toothbrush
- Interval Type: Maximum
- Interval: 12
- Duration: weeks
The last logged text changes throughout the interval:
- 6 weeks ago
- 11 weeks ago (approaching limit) yellow text
- 12 weeks ago (overdue) red text
So it's easy to see at a glance if something is upcoming or overdue. (this is on desktop - iOS has slightly different visual cues)
If you have notifications enabled (in Settings), you'll get a notification when it's overdue.
Replace the filter in your HVAC. Change the filter in your humidifier. Water your plants. Call your mom.
Interval Type: None
This for things you might want to log occasionally but there's no regular minimum or maximum interval. I don't really know what I'll use this for... for purely one-off events I'd probably put them somewhere else (a markdown journal entry in my Notes repo, most likely). I added it thinking I might want it, so someday I'll probably figure out a use for it.
FAQ
Is it free?
Yep. It's just something I knocked out for myself to use, not something worth charging for.
Does it collect my data?
The short version: not if I can help it. I don't want your data, I hate ads in apps, and I don't care about analytics. See the full Privacy Policy for specifics.
Can I request features?
Sure. It's a side project so no promises, but I do read messages.
Was AI used in creating this?
Yes. My background/experience is PHP & Laravel not Swift, so I leaned on Codex.