A self-hosted photo and video library designed to replace Google Photos with full local ownership, fast search, and lightweight infrastructure.
Photo Viewer is a self-hosted photo and video management system designed to give full ownership of personal media while maintaining the usability of cloud services like Google Photos.
The system runs entirely on a home network using a Network Attached Storage (NAS) device. It indexes images and videos, generates thumbnails, and provides a fast web interface for browsing, searching, and sharing media with family members.
The project focuses on efficient media processing pipelines and responsive UI design. Media files are processed into optimized thumbnails and preview formats, allowing thousands of photos and videos to be browsed quickly without loading the full-resolution assets.
This project was built to explore scalable media indexing, thumbnail generation pipelines, and lightweight full-stack application architecture for personal infrastructure.
The system is designed as a lightweight self-hosted stack optimized for running on home hardware. A Node.js media pipeline processes incoming photos and videos, generating thumbnails and metadata which are stored in a SQLite database. Media files themselves are stored on a NAS and streamed directly when requested by the frontend.
The architecture separates media processing from the user interface, allowing large media collections to be indexed and served efficiently without blocking user interaction.