Meeting Cost Tracker provides a Rust library and accompanying terminal user interface (TUI) for monitoring the real‑time cost of meetings. Costs are calculated from each attendee's salary and the time elapsed.
The library is lightweight and can be embedded in your own tools. A fully featured TUI application is also provided for quick tracking from the command line.
Add the library to your project with:
$ cargo add meeting_cost_trackerInstall the standalone TUI application:
$ cargo install meeting_cost_trackerClone the repository and build:
$ git clone https://github.com/Andrewsimsd/meeting_cost_tracker
$ cd meeting_cost_tracker
$ cargo install --path .use meeting_cost_tracker::{EmployeeCategory, Meeting};
let category = EmployeeCategory::new("Engineer", 120_000).unwrap();
let mut meeting = Meeting::new();
meeting.add_attendee(&category, 3);
meeting.start();
std::thread::sleep(std::time::Duration::from_secs(1));
meeting.stop();
println!("Cost: ${:.2}", meeting.total_cost());Run the interactive tracker with:
$ mctKeyboard shortcuts:
- s – start/stop the meeting
- c – reset accumulated time and cost
- a – add a new salary category
- d – delete an existing category
- e – add attendees
- r – remove attendees
- w – save attendees to a file
- l – load attendees from a file (opens file picker)
- p – toggle salary visibility
- q – quit
Categories are persisted to data/categories.toml next to the executable.
Attendee lists can be saved and loaded from the same directory using the w key.
Press l to open a file picker showing available attendee lists in that directory.
Meeting– core meeting logicEmployeeCategory– employee salary representationload_categories– persistence helpers
Licensed under either the MIT license or Apache License 2.0 at your option.