[bashmarks](https://github.com/huyng/bashmarks) does something similar: it provides a command to set a named bookmark on the current directory, one to jump to a bookmark, and one to list bookmarks.
(It lacks all of the magic of z -- it doesn't try to learn how you work. It's entirely explicit.)
Instead of creating aliases, I'm using z (https://github.com/rupa/z) for that. You use it instead of cd to navigate to the most frequently used directories anywhere.
However, I am wary of "smart" things that change with usage. I like my tools to be consistent and predicable. For example, I am constantly getting burned by alt-tab
That said, I imagine the "frecency" component of z makes it more reliable.
alias ch="ch ~/Repositories/my_project/foo"
alias cn="cd ~/Repositories/my_other_project"