10 February 2015
Here at Mingle, we believe change is a good thing. We recently redesigned our site to improve the user experience and make it easier to navigate. If you’re interested in how we did this, here’s a short FAQ on the tech behind our new website.
We use Jekyll for site generation. It’s a powerful and flexible tool that allows you to write your website using modern tools like SasS even if it’s static. There’s another tool called Middleman. It’s not as popular as Jekyll, but we’ve heard good things about it.
For CSS we use Bourbon Neat for the responsive grid system.
We enjoy using Pingdom.com for Mingle uptime monitoring. For example, here’s the Mingle app’s uptime status in Pingdom: http://stats.pingdom.com/4ud8v732msw4/1239403 We have also used StatusCake before, and and had a good experience with it.
We used to deploy to GitHub pages because GitHub has built-in support for Jekyll sites. But a recent GitHub page downtime drove us to switch to Amazon Web Services (AWS). Now we use AWS S3 website hosting and front it with AWS CloudFront (AWS’s CDN service). There’s also a tool we use called s3_website which handles S3 deployments and CloudFront cache invalidation out-of-box.
We use reverse proxy to direct requests to the right server. If you are in the position of integrating your website with your parent company’s website like we were:
1. Keep all pages under the same directory e.g. mingle_site/mingle/ and make sure all pages are under mingle_site/mingle/. This will make reverse proxy setup a lot easier than rewriting to a different path.
2. All assets URLs should not go through the reverse proxy, so you need make them full URLs pointing to the endpoint you are deploying.
3. Consider setting up your build with HTML-proofer from day 0, because fixing more than 200 HTML validation errors at once is not fun.
Find the tools and tips we shared here useful? You’re welcome :-)