real_time_note_taker

Crates.ioreal_time_note_taker
lib.rsreal_time_note_taker
version1.0.0
created_at2025-07-30 03:57:18.691223+00
updated_at2025-07-31 22:37:50.750426+00
descriptionA terminal UI tool to take time stamped notes in real time.
homepagehttps://github.com/Data-Forge-Solutions/real_time_note_taker
repositoryhttps://github.com/Data-Forge-Solutions/real_time_note_taker
max_upload_size
id1773093
size190,865
Andrew Sims (Andrewsimsd)

documentation

README

Real Time Note Taker

Crates.io Documentation CI License GitHub

RTNT is a terminal user interface for taking timestamped notes with support for syncing with external clocks. It was originally developed for taking notes during flight tests, but it can be useful for many other situations. RTNT allows you to capture the time of an event with a key press, and describe it later. This is useful when many complicated events are happening in rapid succession. Notes can be organized into titled sections and exported to CSV for further processing. All active key bindings are always visible at the bottom of the UI.

Demo of RTNT

Features

  • Capture the time an event happens with a key press and describe it later
  • Millisecond accurate timestamps
  • Section markers to organize discussions
  • Edit existing entries
  • Save and load notes from CSV
  • Fully keyboard driven with customizable bindings for maximum speed and efficiency
  • Manual time hacks for syncing with external clocks
  • Current time with source indicator shown in the status line

Installation

Add the binary with Cargo once the crate is published:

cargo install real_time_note_taker

Running

cargo run --release

Automatic file mode

Passing --file <PATH> will load notes from the given file and save them back on exit.

Custom key bindings

Press the key shown as Keys in the help line to open the binding menu. Use the arrow keys to select an action and press Enter to assign a new key. Bindings are stored in keybindings.json inside the configuration directory (typically ~/.config/rtnt).

Library Usage

use real_time_note_taker::{run, App};

fn main() -> std::io::Result<()> {
    let app = App::new();
    let _app = run(app)?;
    Ok(())
}

Saving location

Files are written to [App::default_save_dir] which resolves to a platform appropriate directory and is created on first use.

License

This project is licensed under the MIT or Apache-2.0 licenses at your option.

Commit count: 0

cargo fmt