User model and client-side tests

/cc @adgad