 Hey everyone, Sam here. This is a quick web series about solving web problems with standards. These tips are part of the platform and work with any framework or library. These are quick tips, so let's go. If you're building a single-page application, a website that changes its content without reloading, make sure the browsers back and forward buttons do something. Not just send you back to your favorite search engine. Let's see how. When a user clicks something or changes the state, you can call history.pushState to set a new URL without changing the page. You also want to add a pop state handler. If the user presses back or forwards, you'll be called with the URL and any state you passed so you can reconfigure your page. That's actually it. But when you're setting new URLs, remember this. If the user loads that URL in a new browser tab, it should be able to bring up your expected state. The key here is that these URLs can't just be imaginary. There's another option. If you don't want to worry about lots of real URLs, you can also set window.location.hash. That's the hash bit at the end of a URL and add a hash change handler to be told when it changes. This lets you change the URL without needing a real page under the hood. Remember, use push state and a pop state handler that configures your page to keep your users back and forwards buttons doing something sensible. That's back and forwards the standard way. Hey, everyone. Stand here. Give it a try.