Made with the SilverStripe framework. SilverStripe makes it easy to add features to pages and make objects that can be utilized on pages without making it a page. I also learned Bootstrap and SCSS to make my portfolio.
There are only a small amount of custom page types. The main ones are the project holder, project page, and contact page. The project holder page, named projects, contains a list of project pages, a list of frameworks, and a list of frameworks. The project page is used to hold information about a single project, such as photos, source and view links, and frameworks and languages for the project.
The frameworks and languages are data objects, which can be associated with a project holder and referenced on a project page.
I found SilverStripe much more flexible than WordPress. It was easier to add features without relying on too many plugins.