amelkovich.com
Personal projects / February 2017
Goals
- Enable the photographer to maintain precise creative control over how high-resolution images are cropped and framed across a diverse range of mobile and desktop screen sizes.
- Establish a system where content management (metadata/assets) and the presentation layer (UI/UX) operate independently to allow for maximum design flexibility and backend stability.
- Eliminate the manual burden of generating, resizing, and uploading multiple versions of the same asset for different responsive breakpoints.
- Provide a high-performance browsing experience for a global audience that can handle traffic spikes without manual infrastructure intervention.
I architected and deployed a high-performance, headless web application to showcase and sell the portfolio of an award-winning photographer. The solution utilizes Drupal as a decoupled CMS for robust content management, paired with a dynamic Angular frontend to ensure a fluid, responsive user experience. To maintain the photographer's uncompromising aesthetic standards, I developed a custom image processing system that communicates art direction—including specific focal points and crop coordinates—directly through file naming conventions. This allows for precise creative control over how images are framed across various device dimensions without manual re-uploading. The infrastructure is built on a scalable, serverless architecture within AWS, utilizing Fargate for container orchestration and Aurora for high-availability data management. To optimize performance and cost, I engineered a custom Drupal storage plugin that offloads all media assets to S3. This ensures the application layer remains stateless and lightweight while providing a reliable repository for high-resolution master files. For global delivery and rapid iteration, the site is integrated with AWS CloudFront to provide low-latency access to image galleries worldwide. I implemented a fully automated CI/CD pipeline using AWS CodeBuild, which triggers an immediate build and deployment cycle upon every code push. This DevOps workflow ensures that architectural updates and feature enhancements are delivered to production seamlessly, maintaining a high-nine uptime and consistent performance under heavy traffic.
Outcomes
- The photographer successfully maintained full creative control over image composition across all devices, with a custom filename-based metadata system that eliminated the risk of awkward automatic cropping on mobile screens.
- By leveraging AWS CloudFront and S3, the site achieved near-instantaneous load times for high-resolution portfolios worldwide, regardless of the end-user's device or location.
- The transition to a stateless, containerized architecture on AWS Fargate and Aurora removed the need for manual server maintenance and local storage management, allowing the system to scale automatically with traffic.
- The implementation of a fully automated CI/CD pipeline through AWS CodeBuild reduced deployment time to minutes, ensuring that any functional or aesthetic updates were live as soon as the code was pushed.