add UI for user state
adds a bunch of TODOs
documents what is missing for end users
resolve some consistency issues
add routes for creating and joining a chat