Skip to main content
Navigation
HomeTechnical ReferenceJournalGitHubGitHub
Sidebar — toggle document categories via the logo
Suretta Venter Photography — Portfolio Website

Suretta Venter Photography — Portfolio Website

March 30, 2020

Overview

Suretta Venter Photography is a Gatsby.js portfolio website designed for professional photographers to showcase their work. The site uses Gatsby's powerful image processing pipeline — gatsby-transformer-sharp and gatsby-remark-images — to automatically generate responsive, optimized image variants for every photo in the gallery.

Typography is carefully curated with three Google Fonts: Playfair Display for elegant headings, Pinyon Script for artistic accents, and Roboto for clean body text. The site is a Progressive Web App with offline support, meaning visitors can browse the portfolio even without an internet connection. Automated deployment is handled by AWS CodePipeline — every push to the main branch triggers a build and deployment to S3.


Key Features

  • Responsive photo gallery: Gatsby Image pipeline generates optimized images at multiple breakpoints automatically
  • Custom typography: Three Google Font families (Playfair Display, Pinyon Script, Roboto) for distinct visual hierarchy
  • PWA with offline support: gatsby-plugin-offline enables service worker caching for offline browsing
  • Markdown content: Photography collections managed through Markdown files processed by gatsby-transformer-remark
  • SEO optimization: React Helmet for meta tags, gatsby-plugin-sitemap for search engine indexing
  • Automated deployment: AWS CodePipeline builds and deploys on every push to the main branch
  • Analytics ready: Google Analytics integration pre-configured (tracking ID configurable)

Architecture

A static site, serverless architecture:

ServiceRole
Gatsby.jsStatic site generation with React
gatsby-imageResponsive image processing and lazy loading
gatsby-transformer-remarkMarkdown-to-HTML content processing
AWS S3Static site hosting
AWS CodePipelineAutomated build and deployment

Gatsby Plugin Stack

PluginPurpose
gatsby-source-filesystemLoad images and markdown from /content
gatsby-transformer-sharpImage processing (resize, optimize)
gatsby-plugin-sharpImage manipulation API
gatsby-remark-imagesResponsive images in markdown
gatsby-plugin-offlineService worker for PWA offline support
gatsby-plugin-react-helmetSEO meta tag management
gatsby-plugin-sassSCSS preprocessing
gatsby-plugin-sitemapAuto-generate XML sitemap
gatsby-plugin-typographyTypography.js integration
gatsby-plugin-webfontsGoogle Fonts loading

Tech Stack

LayerTechnology
Static SiteGatsby.js, React
StylingSCSS (Sass), Bootstrap 4
FontsGoogle Fonts (Playfair Display, Pinyon Script, Roboto)
Imagesgatsby-image (sharp)
ContentMarkdown (gatsby-transformer-remark)
PWAgatsby-plugin-offline
AnalyticsGoogle Analytics (configurable)
CI/CDAWS CodePipeline
DeploymentDocker + AWS S3