I was more comfortable at adding a dependency, rather than deal with it myself
Totally understand what you are going through. Browser storage is part of the Web API that unfortunately does not have an official elm package yet. Evan (the creator of Elm) has stated that the goal is to have complete coverage of the Web API once 0.19 is out.
In the meantime, it’s good to get comfortable using ports and writing a little extra code. It’ll help you understand how everything is wired up and give you the confidence that it is not broken. I’m on my phone, so don’t have the link available, but Murphy Randle’s Elm conf talk on ports (on YouTube) walks through an excellent approach to doing ports without having to add TOO much extra code.
So while I get the temptation to use a package with native code, you are most likely going to regret it in the long run. Save yourself hours of trouble in the future by taking the extra 30 minutes to do it right today.
Good luck!