In this work we catalog patterns, practices and trends we have seen from our experiences deploying science gateways at the NERSC supercomputing center. We cover the following topics: Sharing Data Over The Web, Web Frameworks for Science, Web IDEs and Interactive HPC, REST APIs, Authentication and Authorization, Edge Services, Data Transfer Services, Cloud based Portals, and Containers. This is our attempt to share what we have learned with the community, and to identify key aspects of science gateway deployment and development.