I did the reload / separate pages because 1) to make my life easier building it lol and 2) so you could send links to specific palettes.
Check out the pushState/replaceState/popstate API to update the URI without reloading the page, while still sending users with the link directly to that colour scheme.
Also, there are a few ways to change url without reloads, though, yeah, that might add some complexity.
I did the reload / separate pages because 1) to make my life easier building it lol and 2) so you could send links to specific palettes.