PitchHut logo
DD Photos
Fast and distraction-free photo album site generator.
Pitch

DD Photos enables users to create static photo galleries without the clutter of ads or social media distractions. It seamlessly converts JPEG images to WebP, generates JSON indexes, and provides a clean SvelteKit viewer, optimized for desktop and mobile devices. Perfect for sharing albums with friends and family.

Description

DD Photos - Your Lightweight Photo Album Site Generator

DD Photos is a photo album website generator and viewer built with SvelteKit, designed to streamline the process of sharing photos with friends and family. The tool efficiently resizes JPEG images to WebP format, generates structured JSON indexes, and delivers a fast, static photo gallery.

Motivation

Dissatisfaction with existing photo sharing platforms, particularly those that are slow and cluttered with ads and distractions, prompted the creation of DD Photos. Prioritizing speed, ease of use, and mobile compatibility, this project focuses solely on enhancing the photo-sharing experience. The solution developed, with contributions from Claude Code, can be explored at photos.donohoe.info.

Overview

DD Photos offers an intuitive home page displaying all available albums, easily switchable dark and light themes, and interactive functionalities. Users can navigate through albums and view photos in a responsive layout that adapts seamlessly across mobile, tablet, and desktop devices.

Key Features

  • Discernible Album Cards: Each album card showcases a description, photo count, date range, and selected cover photo.
  • Responsive Design: Albums feature a justified photo grid with a PhotoSwipe lightbox, ensuring fluid navigation regardless of screen size.
  • Easy Navigation: Supports keyboard shortcuts for lightbox navigation and allows for swift exiting back to the home page.
  • Custom Descriptions: Optional per-photo descriptions can be provided through a photogen.txt file, enhancing accessibility and user engagement.
  • Permalinks for Each Photo: Every photo has a unique shareable link for easy distribution.
  • Clean User Experience: Dark/light theme toggle for user preference and OpenGraph support for effective social media sharing.

How It Works

The user curates and filters images using existing software (e.g., Adobe Lightroom, Apple Photos). Once photos are organized into albums, the project’s photogen tool simplifies the process of image optimization and file management. Albums are defined in an albums.yaml file, and descriptions are provided in a descriptions.txt file for a streamlined organization.

The server is entirely static, requiring no backend database, and the end result is a comprehensive HTML, CSS, and JavaScript-based photo gallery that's readily deployable on any standard web server.

Technical Details

The core functionality is delivered through the photogen tool, which:

  • Resizes images to WebP format optimized for web display.
  • Generates JSON files for album management, including albums.json and individual album indexes.
  • Constructs a sitemap.xml for better SEO performance.

The site leverages SvelteKit for the frontend, ensuring fast load times and responsive interactions while serving content directly from pre-built static files.

Configuration and Customization

Setting up DD Photos involves creating configuration files that dictate album content and presentation. The essential files include:

  • albums.yaml: Specifies the albums, their identifiers, and photo locations.
  • descriptions.txt: Contains album descriptions visible to visitors.
  • site.env: Includes global site values like the site name and copyright information.

Getting Started

To try DD Photos, users can build and run a sample site included in the repository. Instructions for resizing photos, generating files, and running a local server are easily accessible through the well-organized Makefile commands.

DD Photos is an open-source project aimed to simplify photo sharing while improving performance and user experience. By utilizing modern web technologies and a static site approach, it provides a valuable tool for anyone looking to share photos effectively.

0 comments

No comments yet.

Sign in to be the first to comment.