PhotoShareNow Open the albumAlbum
Design & development

Want a private photo site like this one?

Photo Share was designed and built from the ground up. If you'd like something similar for your family, team or event, or a different website or app altogether, let's talk about it.

Every part of this site, from the gallery layout to the privacy rules in its database, was built from scratch.

What you'd get

A photo site your people actually trust

Everything you see here can be part of yours, shaped around how your group shares photos.

Private by default

Every account is approved by you, and each photo stays visible only to the person who added it until they choose to share it.

Sharing, your way

Share an album or a single photo with everyone, with specific people, or by an invite link for someone who isn't a member yet.

Albums that stay tidy

Albums with covers, a full-screen viewer, search, and one-tap downloads of a whole album as a ZIP.

Made for phones

Upload straight from the camera roll. Photos are resized automatically and their hidden location data is removed.

You stay in control

Approve new people, appoint moderators and admins, and handle requests to take a photo down.

Low running cost

Runs on Cloudflare (pages and files), Supabase and GitHub (code). Their free plans cover a typical group album (up to 10 GB of photos).

  1. 1Tell me what you needA short message is enough to start.
  2. 2Design and buildYou try it out as it comes together.
  3. 3LaunchSet up and handed over with a walkthrough.
Contact

Let's build yours

Send a message below, or reach out directly. Questions about this site's privacy are welcome too.

Mohan Karki

Designer & developer
Email
Phone
Your message is stored privately in this site's database, and only Mohan can read it.
Privacy & security

How this site works, and how it keeps photos private

A plain explanation of where things live, who can see what, and what protects it.

Three services, three jobs

What happens when you open a photo

Each service does one job, in this order. Press play, or step through it.

Where photos are stored

In a private storage area, never with the web page

  • Photos, videos, documents and their small previews are kept in Cloudflare R2, in a private bucket. The key to it never reaches the web page: a small server function on Supabase holds it.
  • Each person's uploads go into their own folder.
  • Nothing is public: a photo can only be opened through a temporary link that expires within an hour, created just for someone who is allowed to see it.
Accounts

Nobody gets in without approval

  • New accounts see nothing until the album owner (or a moderator) approves them.
  • Passwords are handled by Supabase Auth and stored only as one-way bcrypt hashes. Nobody can read them, the admin included.
  • Passwords must be 8+ characters with upper and lower case, a number and a symbol.
Who can see a photo

Members don't see each other's photos unless they're shared

WhoCan see the photo?
The person who added itYes, always. Only they (or an admin) can share, move or delete it.
People it's shared withYes. Shared by name, through a shared album, or with an invite link once they're approved.
All membersOnly if it's shared with everyone.
Other membersNo. It doesn't appear for them at all.
ModeratorsNo. They manage memberships, not photos.
AdminsYes. Admins can see every photo so they can look after the album.
Pending, turned-off or signed-out visitorsNo. Nothing at all.

Anyone who can see a photo can ask for it to be taken down. The request goes to the person who added it and to the admins.

Why it holds up

The rules live in the database, not the page

The web page only asks for photos; Supabase's database decides, row by row, what each signed-in person is allowed to get back. This is called row-level security.

So even if someone copied or changed the page, or talked to the database directly, they would still only get what the rules allow. Uploads, sharing and deleting are checked the same way: the photo storage function asks the database before handing out any link.

Protection

Encrypted on the way and at rest

  • Every connection uses HTTPS (TLS).
  • Supabase and Cloudflare R2 encrypt stored data with AES-256.
  • Who uploaded a photo, and when, is recorded by the server, so it can't be faked.
  • With "Optimize" on, photos are resized in your browser before upload, which also removes GPS location data.
What this site doesn't do

No ads, no tracking

  • No ads, analytics or tracking cookies. Fonts and code are served from this site itself; your browser talks only to Cloudflare (the page and photo files) and Supabase (your account).
  • The site remembers a few things in your own browser only: your sign-in (if you choose "Keep me signed in"), your light/dark choice, and the Optimize setting.
  • Like any web host, Cloudflare logs visitors' IP addresses for security purposes.
  • Deleting a photo removes it from storage right away. There's no undo, so the site always asks first.

The full details are in the Privacy Policy and Terms of Service. Questions about privacy, or want something removed? Get in touch.