einklang is a local Pilates studio where I live. I have been friends with the Trainer for ages and since the studio had been represented by an outdated website, I gladly took the opportunity when she approached me.
The website is supposed to communicate various information about the studio and convert visitors into potential customers. It should be clean and easy to use while being distinctive and alluding to the Pilates Aesthetic.
It was actually not easy deciding for a CMS but after a bit of research, keystone.js seemed to be the most feature-rich/established choice. However, that is relatively speaking. The Node community may be moving at an insane speed but it currently lacks the comfort of mature platforms like PHP. As such, it was lacking multiple small features like repeating schemas and one crucial feature: Singletons. Keystone's only works in works in Lists datastructures for storing content, thus creating single items, to store a single page for example, is currently impossible.
I worked around this by creating a new data model for each page and using the first item of the list as the page's context. A hack at first, this data structure actually worked out fine and could even be beneficial because it allows for easy translation of content. Every list item could represent one particular language. Since the website is only in german, though, that didn't really matter.
Apart from its missing maturity, keystone was really a breeze to work with. Its unopinionated design made it really easy to create the data endpoint for the SPA and integrated with express very nicely. The added promise support made it especially easy to handle database queries. Moreover the admin panel is really well made and nice to use.
Moreover offline support was definitely a consideration but I didn't have the time to implement it.
I wanted a design that communicated the goals of the site clearly, effectively and elegantly. The site should feel intuitive, responsive and predictable. This is achived through clear layout with strong lines to provide guidance, simple, clear typography and a mostly monochromatic color-scheme, only being supported by a singluar accent color matching the training mats. Slight animations while navigating among pages, make the experience feel app-like and natural. The website is of course completely responsive from 310px - 1500px max-width. It works on ie9+ and all recent versions of Chromium/Chromium/-mobile, Firefox, Safari/-mobile, Opera and friends.
I migrated from the old website by making a custom 404 website for all pages and files of the old website. It links to a backup of the old site where users can view the old content if they wish to. Moved pages/files were 301 redirected to their new locations. The site previously actually had two domain names with the same content, so to prevent content duplication I just 301 redirected all requests from the alternative domain to the correct one so that navigation would still work. I used the domain migration tool of Google Webmaster Tools to migrate to the new domain name and inform Google about the changes. The site also previously ran both with and without a www subdomain. I chose to drop it for clarity and redirect every request to the non www version.
The result was that the relaunch didn't just hold the search ranking, it actually improved it. The site went from two results of the domain to four of them as the first Google results for "Studio Einklang".
In conclusion, the relaunch provided a lot of value to the studio. The new design is a lot more inviting and the added compatibility with mobile devices will surely benefit the users. The trainer and myself are very happy with the result. Since the relaunch, the rate of inquiries through the website has more than doubled and we've gotten lots of positive feedback from customers.