Local & Creative
MacDonalDesign
A fully custom digital ecosystem built with headless Drupal 11, Next.js, and automated CI/CD. The platform combines modern frontend architecture, API-driven content, GitHub integration, and Jenkins deployments into a scalable development workflow.

CASE STUDY
Challenge
The goal was to build more than a traditional portfolio website. I wanted the site itself to demonstrate modern web development, API-driven architecture, version control, automation, and CI/CD practices while remaining flexible enough to evolve as new projects and technologies were added.
PHASE 1 SOLUTION
Modern Drupal Platform
- Built a custom Drupal 11 website as the content management platform.
- Structured portfolio projects, experience, skills, and other content in Drupal.
- Developed a custom content architecture designed to support a headless implementation.
- Used Git and GitHub for source control and version management.
- Built reusable Drupal components and custom functionality rather than relying entirely on contributed modules.


PHASE 2 SOLUTION
Headless Next.js Application
- Developed a Next.js front end using TypeScript and modern React architecture.
- Implemented a headless Drupal architecture using REST API and GraphQL to retrieve content from Drupal.
- Separated the content management layer from the presentation layer, allowing the front end and Drupal platform to evolve independently.
- Built responsive, reusable UI components with a focus on performance, accessibility, and maintainability.
- Used Node.js, NPM, and modern front-end development tooling to manage the application and build process.
PHASE 3 SOLUTION
CI/CD & Deployment Automation
- Built automated Jenkins CI/CD pipelines for development and production deployments.
- Integrated GitHub Actions into the development workflow for automated processes and repository-level tasks.
- Implemented Git-based deployment workflows using separate development and production branches.
- Created automated production release tagging and immutable release builds.
- Built deployment scripts that package application code into versioned build artifacts and deploy them to the appropriate environment.
- Implemented automated Drupal deployment tasks including database updates, configuration imports, cache rebuilding, and cleanup of previous releases.
- Designed a release-based deployment architecture with shared files and configuration separated from application code.
- Added automated deployment verification and failure-stage tracking to improve pipeline visibility and troubleshooting.

SUCCESS
Impact
The portfolio became a working demonstration of the development practices it represents. The combination of Drupal 11, Next.js, TypeScript, REST API, GraphQL, GitHub, GitHub Actions, Jenkins, CI/CD, and headless architecture created a scalable platform that separates content management from the front-end experience.
The automated deployment infrastructure also transformed the site from a manually maintained project into a repeatable software delivery process. Code changes can move from GitHub through automated builds and testing into versioned development or production releases, with Drupal updates and deployment tasks handled through Jenkins.
The result is both a portfolio website and a real-world example of modern web architecture, API integration, DevOps, automation, version control, and full-stack development.