thefadil

Thank you for your interest in my profile and browsing through the website. For the developers and technical minded visitors, I am providing an overview of the tech stack I used to create this website. The motivation behind it was to explore and diversify my technical skills beyond backend responsibilities into a fullstack experience.


Frontend

thefadil.com is written using Next.js to leverage the latest React features, and client and server-side rendering capabilities with minimal effort to create compoments from scratch (No external libraries were used).

Backend

The backend is a GraphQL web framework integration written in TypeScript using Apollo Server, which enabled the separation of concerns for About, Certification, Education and Work sections by serving their respective data from isolated datasources through a single API.

DevOps

The continuous integration and deployment (CI/CD) of the frontend and backend are done through Vercel Git integration and workflows defined by GitHub Actions respectively.

Infrastructure is configured using Terraform and provisioned in AWS through CI/CD workflows defined by a custom GitHub action.

In order to serve traffic from a custom domain, the apex domain thefadil.com and subdomain www.thefadil.com records were created in Amazon Route 53 to map to Vercel DNS respectively.

The backend is deployed as a serverless function in AWS Lambda with an attached Node.js dependency layer to improve deployment time. The lambda service HTTPS requests through an AWS Proxy integration with Amazon API Gateway. Traffic is routed though the custom subdomain api.thefadil.com. Authentication and authorizarion is done using a Lambda Authorizer.

Cost

Now let's talk money. How much did it cost to build this website? The registration of the domain thefadil.com with Amazon Registrar costs $13. The cost for the public hosted zone is $0.50/month. Given the traffic of the website is quite negligible, and the cost of using Amazon API Gateway (throttling enabled), Lambda (serverless),CloudWatch (logs deleted daily) and S3 (storage of the function code) is cheap, the total montly cost is expected to range between $0.50 and $1. Note: This infrastructure setup is cost-biased and should not be applied to a production environment.