I tend to use one tmux session per project. I usually have 2-3 open for various client projects, one open for my TIL repository, and then I go from there. Within those sessions I tend to have separate windows and panes as a way of organizing any (web) servers and other long-running processes. The 'first' window of each session is usually a split between Vim (where I'm working) and zsh (where I'm executing git commands, running tests, etc.).