In the middle of 2016 I kicked off an internal project to pay off technical debt. The Rawson website hadn’t been touched in years and needed some attention. That soon ended up as a complete redesign and rewrite of their entire website. After about 6 months of design & prototyping everyone was happy with where we were heading. Lauren Waller did some phenomenal work here, seeing the project through from an idea to the final HTML and CSS.
The styleguide we produced out of all the design sprints was a massive success. It allowed a complete decoupling of the frontend and backend code and made it as simple as dropping in a link and script tag.
One of the major challenges was integrating with a legacy business database — to which we couldn’t make schema changes and only had read access. All of the integrations were written in Go, mostly because of the excellent concurrency model and pragmatic design of the language. It payed off. A full data transfer used to take around 30 minutes, Go could get it done in just over 1 minute. This drastically improved the developer experience and for the first time we could iterate on the underlying data structures without pulling our hair out.
Vue.js helped us manage the complexity of our front-end components. The search, bond calculator and transfer cost calculator used to be a mess of callback soup and were completely unmaintainable. We found Vue to be perfect for when you need more that jQuery but less than React.
Ultimately, we had a month to write all of the backend code and another month for the frontend. We’re all very happy that this website has shipped and proud of what we managed to achieve in such a short time! It’s got a few rough edges, but we’re excited to see where Rawson take it.