A little more insight on how I made this site!
Features
General
- Webpage built on GatsbyJS and hosted on Netlify which offers continuous deployment from this repo
- Responsive for view on desktop, tablet, and mobile
- Showcases projects and blogposts
-
Contact form which fowards to my email.
- Utilizes Netlify serverless functions, a wrapper for AWS Lambda functions, eliminating the need for a dedicated server for sending email in the backend!
- Emails powered by Mailgun SMTP
Projects section
- Projects are added through a CMS (see below)
- Project information are stored as markdown files which are queried using GraphQL
- Static pages are generated using each project, powered by Gatsby's Node.js createPage API
- Project filters are made possible by modifying the GraphQL queries to include specific tags
- Site uses similar template and layouts to produce a Blog section as well
Content Management System
- Allows me to easily submit project/blog updates which are readily visible once a publish builds through Netlify
- Color field allows me to thematically style how a project looks on the site.
- Tags offer the ability to filter projects by its type.
- Powered by NetlifyCMS
Todo
-
Depending on the amount of blog/project posts:
- lazy load images to speed up performance
- paginate so single-page content is less bloated