about this project

A life is
worth remembering

This is a space for photographs. Moments, placed wherever they feel right, whenever it feels right.

"The photographs you take are not for an algorithm. They are for you, 20 years from now, wondering what life felt like."

A Gallery of a Life started as a personal project — made by Moksh Nanwani - as a place to put photographs that didn't fit anywhere else. Not aesthetic enough for Instagram, not important enough to frame, but meaningful enough to keep. A photo that reminded me of my life.

It's a canvas that you fill slowly, over years. You place images where they feel right. You move them around as your sense of them changes. And you can add a caption for context, as to not forget why.

There's no timeline. No likes. No algorithm deciding what matters. Just a surface and whatever you choose to put on it.

I wanted to build something that felt handmade, so here's what it runs on:

PHP + MySQL
Backend API & image storage
Vanilla JS
No frameworks
Shared Hosting
Unglamorous I know, I'm just a student
Syne + DM Mono
Typography that I like
CSS drag & resize
Freeform canvas placement
IntersectionObserver
Image loading

Images are served from the same server they're uploaded to. Positions are saved per-image in the database. There's no CDN, no external dependency for images. What you upload lives where you put it.

The drag-and-drop layout is stored as X, Y, W, H coordinates per image — so when you come back months later, everything is exactly where you left it.

Most photo apps are snapshots of a moment in time. You capture, you post, you move on.

This works differently. The gallery is meant to be edited. You'll add an image in January and rearrange the whole canvas in August because something shifted in how the pictures relate to each other. That's the point. The canvas reflects not just what you photographed, but how you feel about it now.

Think of it like a pinboard you've had for fifteen years. Some things stay. Some things move to the edge. Nothing has to go unless you want it to.

the beginning
Started off as a single PHP file, a canvas, and a password for a personal gallery to share with family and friends.
first images
Uploaded the first photographs. Realised the format worked and people enjoyed it.
captions
Added the ability to write descriptions. Some images needed context, or my mom would forget why she added a random photo of her kitchen.
now
Opening it up. Anyone can start their own gallery and keep it, forever.
Start your own gallery

Upload your first photograph. Come back in six months and add another. There's no pressure to fill it. It only needs to be as full as your life.