So I built pryr using Rust. It’s a background daemon that tracks prayer times, gives you warnings, and when the exact time hits, it ruthlessly locks you out of the OS session (using loginctl on Linux and LockWorkStation on Windows) for a configurable duration.
Architecture is split into: 1. Async state machine using Tokio running as a daemon(systemd / TaskScheduler) 2. A CLI that communicates with the daemon using zero-overhead IPC (unix sockets / windows named pipes)
I aimed for totally offline usage (only fetching coords from city name requires internet) and simplicity
I'd love to hear your thoughts on the architecture and if there's any improvement ideas!
Repo Link: https://github.com/kofta999/pryr