Derploid Website

Derploid logo. A big, smiling, derpy face with X-shaped eyes like chromosomes.

Background

This is the basic website that I built for Derploid® Entertainment, the company that I started in 2017 with a partner from the Cleveland Game Developers. We made various attempts at creating an online presence for the company, including a Facebook page, Twitter account, and Gmail account, but it always felt weird trying to promote ourselves on social media when we didn't have a finished game released yet. My partner had been building a static website with Bootstrap Studio but it never got very far as he is not a web developer. So, in April 2021, I finally set up a new git repository to build the site with traditional static files.

Technical Details

I initially hosted the Derploid site files (made by my partner in Bootstrap Studio) on Amazon S3, using AWS CloudFront as a CDN. To this end, I created some YAML CloudFormation templates to encode the necessary AWS resources, like the S3 Bucket and CloudFront Distribution, as well as AWS Certificate Manager certs and Route53 HostedZones for DNS management and redirects.

Later, in May 2022, I started redesigning the site with custom markup and Bootstrap components. I knew I wanted to have a proper static site generator at my disposal, so I pivoted from S3/CloudFront to GitHub Pages. This system simplified the hosting (the GitHub repository itself was essentially self-hosting), and allowed me to use the classic static site generator, Jekyll. This was my first Jekyll project, and while Ruby may not be my strongest programming language, I still fell in love with Jekyll's simple layout/include systems and the Liquid template language.

I also pivoted to AWS Cloud Development Kit (CDK) for Infrastructure as Code around this time over CloudFormation, as its TypeScript APIs were much more succinct/powerful than YAML. Finally, I set up a Sendinblue (now Brevo) account for creating email templates, based on an evaluation of popular email marketing systems in 2022, which we are using for newsletter signup forms for our in-progress mobile game, High Hand Hold'em™.

Some other little engineering details that I'm proud of include:

  • Creating HTTP redirects to get derploid.com, .net, and .org (with or without www.) all redirecting to the same home page
  • Using appropriate SPF, DKIM, and DMARC records to the site's DNS records to secure our emails and prevent abuse by scammers
  • Adding ads.txt and app-ads.txt files to the site to secure our mobile games' ad monetization
  • Using AWS CloudWatch alarms to monitor the website's DNSSEC and HTTP health
  • Deploying another "environment" of the site on a separate (cheaper) domain with separate Brevo and GitHub Pages setups for testing
  • Defining devcontainers for developing the CDK app and Jekyll content