Here you'll find the technologies and services used to build and maintain this website.
This site is written purely in TypeScript and React and is statically generated using NextJS.
It also makes use of MDX which allows the use of JSX components inside Markdown.
On top of MDX, I am also using a few Remark and Rehype plugins such as remark-prism for syntax highlighting, remark-external-links and rehype-autolink-headings.
MDX is rendered using next-mdx-remote - I really wanted to use Kent C Dodds' mdx-bundler which uses esbuild
under the hood but I couldn't get it to play nicely with SCSS modules.
To complete the MDX puzzle, I'm using gray-matter to parse frontmatter.
Using React Spring for some animations.
Cloudinary is used to host all of my static assets such as images and fonts.
The design is purely bespoke using SCSS modules and is primarily using CSS grid for it's responsive layout.
A couple of open-source things I'm using include Google Fonts and Font Awesome.
I am using Netlify to host this. I've been using them for a while and not had any complaints.
In addition to hosting, I'm also leveraging Netlify Functions, which are basically Lambdas, to record page visits into an AWS DynamoDB. I'm deploying my stack using the AWS Cloud Development Kit (CDK).
Source of the project is hosted on GitHub.
ESLint, Stylelint and Prettier are all being used to keep my codebase tidy.
For testing, I'm using Jest and Testing Library.
I have GitHub Actions setup for continuous integration and deployment.