136 comments

[ 0.28 ms ] story [ 212 ms ] thread
In my work I often need to know when things happened, for scenarios like: interviews, incidents, protocol meetings, experiments, debugging, etc

I noticed there was no simple way to achieve this with any note taking app, so I made one.

* every line you write is automatically timestamped.

* minimalist and distraction free - follows the simplicity of the built-in note apps.

* cross platform - it's a webapp so no install required, works great on mobile, web, android, iOS, tablets.

you can use it for free, no email and no signup required.

I made this first version where data is stored locally on your device.

Sharing here in case someone finds it useful, it would be great to know I solved the same problem for anyone else :)

Wow! I was thinking the same notes app like a month or two ago, even tried to create it! Can you open-source it? So we can contribute, and make it self hosted?
the code is quite embarrassing, imagine backend engineer writing frontend with the help of AI :) but since it's a common request, I'll consider it
All code is embarrassing, and there will always be someone that comes along to ask "wow, why did you write THIS in this way? I wouldn't have done it that way!"
https://github.com/unstppbl/nta

I went ahead and created the app with Claude 3.7, backend is in Go, frontend is in React. Sqlite is used for storage.

There is also a docker-compose file.

Anyone can contribute

Notepad does the same using the F5 key. But this one has a nicer interface.
Looks good. How do I share across devices?

Would I ever be able to see the source, or run whatever backend the above request requires myself? Maybe I've answered my first question and this thing is 100% client side.

I've been using https://www.usememos.com/ as of late, so the concept resonates with me. It's the first note taking app I've went all in on that seems to make time a first-class feature. Yours takes that even further by breaking it down per entry.

this is the local-only version, everything is stored in a db in your browser. the backend just serves the app and creates anonymous users. my private version of the app has cross-device sync, it's just not ready yet for the public, because it relies on google/apple signup and storing the notes on a server, and I know it deters some privacy-minded folks.

I'll consider the self hosted route.

Might be mild autism or some other mental condition, but I'm obsessive about timestamping everything. In my defense, it is useful when you want to refer back to it! Looks like a great little app
Timestamps are very underrated. There's so much useful information stored in them. It can help you remember what other things you did that day around that time, in what order some events happened, what were your initial plans and how they changed. These things can be so easily forgotten.
Exactly! It helps me reconstruct my train of thought and the chain of events, even after a long time has passed.
I share your obsession I even planned a search-by-timestamp feature, and then scrapped it because I thought that its too weird and who-does-this
Thank you for sharing this one. I love it.
Love this, an option to export the note as a txt file would be amazing.
I agree; being able to export is super important for keeping records, and it's definitely my top request. Having a local app instead of a web app would be great too.
thanks! by local you mean a mac/windows app? that would be a major endeavour :)
thanks! is txt format enough? initially thought of csv, since its a 2 column structure
Interesting.

I have almost the same workflow with https://getdrafts.com/ where I only take short notes and I have custom action which sets the creation date+time of the note as its first line. But, having a separate entry for each line is the next level of this approach.

I really don't get how this can't be emulated with the F5 key, or something like Sublime Text's InsertDate package, or a text expansion software. What does this note taking provide that's any different?
Yeah, this seems like an Obsidian package waiting to happen.
Obsidian already has this, super-D for date, super-T for time, trivial to add inline as you go, if using a single-note approach. And any new note automatically captures its time of creation and last-edited time.
That you might end up having to pay for it and have your notes taken hostage.
having to hit an extra key and miss out on cross-device syncing sound like two great reasons to not emulate this in anything else
the approach here was to combine the simplicity of apple notes, working across devices, with the automatic time-stamping found in the desktop ecosystem of tools.

Obsidian/SublimeText users are probably not the target audience for this :)

I would love an option to easily export these, both in bulk and as individual notes. That way I can share them, feed them into software (i.e. AI to summarise) etc.

Maybe it's somewhere in the docs, but I can't find it easily in the mobile app

thanks! no export yet since I wasn't sure how it would look like what kind of export formats are you interested in?
If you use org-mode, you can just set up a git repo which auto-commits with gitwatch. And run magit-blame when you want the timestamps. With the advantage that it doesn't distract you when you don't need to see them, but super useful when you want to check when a note is written.
Why git though? Wouldn't it be simpler to just append the timestamp to the beginning or end of each line/paragraph, and just hide it when editing?
Yeah, I do something similar with org-node (org-roam alternative) where every capture templates has an inactive timestamp at the end before the tags.

i.e. Idea: Build minesweeper in the terminal with Ratatui @ [2025-02-05 Wed 18:01] :@someday:

And then I capture it in a daily note (or very rarely refile it) that has an org-id. Then everything gets connected with links and backlinks.

I keep the usual CREATED in the properties drawer empty in case I want to turn that heading into a node for linking at some point.

Though I'm still figuring out some things about my approach as I go. One thing is clear, org-mode can be adapted to quite a lot of workflows regardless of their weirdness or efficacy.

Git gives you a full history of changes which is convenient for many other reasons. I also do sometimes put dated and less often timestamped entries when desired.
I'm just getting a blank page on Firefox and a few of these errors in the inspector output:

  Uncaught SecurityError: Security error when calling GetDirectory
It does work on Chromium. And it looks nice. I wish it had keyboard navigation though, which it doesn't seem to have yet, so I can quickly correct a previous entry.
thanks! can you tell me the Firefox version? keyboard navigation is a great idea, didn't think of it since I mostly use this on mobile.
Oh yes, journaling. Without accounts, and no export. I can't live without my weekly timestamped notes. org-journal does that for the emacs brethren.
not sure if you are sarcastic or not :) but export is planned next
This is lovely. I maintain a dev log at work where I manually time-stamp entries section wise, but many times I’m doing it after the fact. Ability to edit the time stamps and then search based on it would make this super powered.

Actually, I would love to combine this with Heynote[0], have you considered it?

[0]: https://heynote.com/

This is really sleek. I like the focus on minimalism since what I often need is a simple interface to take down quick notes, thoughts, and ideas. Any plans to offer a self-hosted version?
Thanks for the warm feedback! I see that self hosting is a popular request so I'll start planning it :)
That's great to hear! Hope to see an update on HN when the self-hosted version is ready.
Nice job! Just noticed—when an item is edited, the edited timestamp isn’t being captured.
This is probably intentional -- if you want to fix a typo or make something clearer that you've already captured you likely want to preserve the original timestamp?

If you want an entry timestamped to your current time, you can make a new entry.

probably, i wonder if there shouldn't be an edited timestamp as well
this is the answer :) fixing errors should not alter the timeline I assumed that editing timestamps is also quite problematic since it will break the chronological order of the note
Glad you wrote what was only an idea in my mind :)
might making it open source so people can help you with implementing the suggested thing in your reddit thread?
what suggested thing are you referring to? probably will open this once I un-embarassify the code :)
This is a delightful app. Thank you for sharing! I like the user experience. I don't need to do anything except for write and press enter when I want to create a new line of text.
I have explained this idea to a friend just a couple months back! Thanks for building it, and with such polish.
Whoa cool! I built a bespoke tool eerily similar to this several years ago as an intern at Johnson Space Center for logging mission communications. I’ve wished I had something like it for meeting notes every time since then. I’ll be giving it a try ;)
great to hear! logging communications is my main use-case for this, let me know what you think
Looks awesome! Was thinking about building it for myself. One note: the delete function is not working apparently: it shows a note is deleted, but it appears again after reload.
thanks, good catch! I'll fix that.
Nice idea and really polished look.

Nit: clicking "Create X" to add a new tag seems worse than pressing enter to create one as you have to go off the tag menu and back onto it to create or add another, but it's not necessarily clear that you can press enter to create one.

that's a great suggestion

how do you think we can make it more obvious?

Nice.

I'm using a simple little combo of a shell script and alias to append a line of text to a text file in a known location. The script is just to prepend the line with a timestamp. Stupid and simple, but hey, it works for me.

My aliases:

  alias ttag='/cygdrive/c/Dropbox/tools/ttag/ttag.sh'
  alias ttagcat='\cat /cygdrive/c/Dropbox/tools/ttag/ttag-logfile.txt'
  alias ttago='open /cygdrive/c/Dropbox/tools/ttag/ttag-logfile.txt'
The shellscript:

  1   │ LOGFILE=/cygdrive/c/Dropbox/tools/ttag/ttag-logfile.txt
  2   │ TIMESTAMP_NICE=$(date +"%F %H.%M.%S - %s:")
  3   │ echo $TIMESTAMP_NICE "$@" >> $LOGFILE
Nice work! Is it possible to hide the seconds?

Btw, F5 in Notepad inserts a time stamp.

hiding the seconds is a great idea, I'll add a minute/second granularity option
I like the idea, but not the web-based implementation. Local first, and ideally an open source app that can work offline when I'm going distraction free.

It feels like a vim plugin. It definitely feels like org-mode can do this.

A few years back I had a little command line tool where I could log things quickly - it was like syslog for humans - but with #hashtags for projects or clients, and then a small tool that would work out how long I'd spent on different things. It required me to write a log every time I finished a task or a pomodoro. I might resurrect that, but having an open file has been cute for me for quite a while, and then I can go back and copy/paste what I need to draft docs and so on.

I do think "note taking" as an app is actually under-served. There's lots of wiki plugins, org-mode, tons of "productivity tools", but actually a single app that lets you just write, then helps you with review (and timestamps, contexts and so on are essential to that), and then figure out actions/todos and gives you seamless interaction with those, and integration with 3rd-party tools (I don't want to copy and paste between vim/emacs/JIRA/asana/notion/trello/apple notes/calendar reminders/outlook tasks/whatever), would be very, very neat.

I came here to type all of these thoughts, and found you'd already expressed them (and more). Even the bit about making my own command line tool.

Agree!

`jrnl` commandline tool does the same with a text file. You can sync it with dropbox and use the same journal across multiple machines.
Nice one, thanks! Mine was for a more specific use case but this could be really helpful.
Thanks for the hat-tip on `jrnl` - this is a much better version of the cmd line tool I talked about in my comment above and I am now starting to use it. Great logistics being cli-based, think I'm going to be using it plenty.
I'm doing this via VSCode, Cline and various services connected via MCP. Works quite well.

    $ ts | tee -a notes
Or just ts >>notes
on macOS, just:

echo "$(date) Do something" | tee -a notes

thanks for the feedback!

Being a developer, I'm aware that the desktop ecosystem offers a plethora of tools for this.

I think my main inspiration in this project was to combine the simplicity of apple notes with timestamped entries, being able to log notes in this form from any kind of device and having cross-device sync.

I released the local-only version so it will be useful to privacy-minded folks but I do plan to have a cross-device backup and sync option since I believe it's a very compelling feature.

I have a command line tool that just takes a line of input, then writes the time stamped entry to a text file, one per quarter. A cron job pops up a terminal once an hour during business hours. I use that log to prepare for performance reviews to recall what I’d worked on, and I often go back to remember details about a problem I solved months or years ago. It’s fantastic, been using it for seven years.

In 2023, I wrote another script that appends a line to a csv file every 5 minutes. The line includes the focused window class, command line, title, name of the git branch that’s currently checked out, system idle time, and WiFi access point name. So I know pretty much how long I was working on everything vs other stuff like slack.

I’m finally starting to write tools to visualize and analyze this data. Is it going to change how I work? Not really, but for some reason I like seeing at a glance how I spent my time.