If you decide to use the SPA approach with Browser navigation here is another example https://github.com/sporto/elm-tutorial-app, smaller than the elm-spa-example
Aside from that, try to start by putting all the view, update, model code for a page inside one module. e.g. Just Page1.elm
instead of State
, Types
etc. This will make your application simpler. Break this apart if you really need to.