Asking for feedback: Learning rust by building a time tracker
⚓ Rust 📅 2026-01-02 👤 surdeus 👁️ 2Hi all,
I'm a seasoned C++ developer (mostly in the robotics space) and have started to pick up Rust for a couple months. After initial toy examples I started a rewrite of watson, a command line time tracker. My intention is not to replace the original project with yet another "rewrite in rust". I just use it as a learning experience while still building something that I use on a daily basis at work. Some notes on the implementation:
- I tried to make it backwards compatible with watson, while abstracting the storage logic away such that I can swap that for something else. I'm thinking of writing a server backend for it for fun.
- I tried to incorporate as much semantics into the type system as possible. E.g. I used the type state patternwhich I got very excited about as it allows to represent states in the type system of the language.
- I used LLMs to support my learning experience, but the code is written by hand. Also I already ran
cargo clippyover the whole codebase.
I'm looking for overarching feedback on the design and architecture. Especially for rust specific things that I did "the C++ way" instead of the rust way.
Repository: GitHub - fechu/watsup: Time tracker compatible with Watson written in rust as a learning exercise
1 post - 1 participant
🏷️ Rust_feed