Skip to main content
← Back to Open source
03Open-source build

OpenPhotos

A private, local-first photo library for browsing, organizing, and sharing personal images without an ad platform.

sagnik11/openphotos
03
01Local import
02Browser library
03Search and albums
04Native share
React 19AGPL-3.0

The reason for the build

A personal photo library should work without requiring a cloud account. OpenPhotos keeps the first version in the browser and gives people direct control over imports, albums, favorites, search, and sharing.

How the pieces connect

The React client stores imported photos as browser data and renders them in a responsive masonry library. Search, album grouping, selection, and full-screen viewing run on the device; durable self-hosted storage remains on the roadmap.

What the project handles

01

Local-first library

The current MVP keeps imported images on the device and does not upload them to a server.

02

Fast organization

People can search by name or album, mark favorites, select groups, and remove photos from one responsive library.

03

Focused viewing

The full-screen viewer supports keyboard navigation, small screens, and the native Share API.

04

Portable direction

The roadmap covers open-format exports, self-hosted object storage, encrypted sync, and offline browsing.

Constraints that shaped it

01

Browser storage keeps the first release private and easy to run, but it also imposes practical capacity limits.

02

The project uses AGPL-3.0 so network-deployed modifications remain available to the community.

  • React 19
  • TypeScript
  • Vite
  • Browser storage
  • Share API

Read the code, issues, and decisions in context.

Open on GitHub