Delivering photos is a weekend: originals on a disk, resized copies, scenes, favourites, a PIN or email gate and a streamed zip download. An agent builds that in a day, and the proofing flow of picking photos for an album is a few extra tables. What a copy lacks is everything that makes Pic-Time a business tool: print orders sent to 30+ labs with payments and tax handled, the album designer, face and selfie search for guests, licensed music for slideshows and a polished phone app. Photographers who only deliver and proof can replace it; those who sell prints can't, short of rebuilding a storefront.
Before you buildPic-Time Free keeps 10 GB for three months and then 3 GB, and whole-gallery downloads need a paid plan. Check whether your shoots fit before paying or building.
Build me a private client proofing and delivery gallery to replace Pic-Time. Requirements: - Go 1.23: one binary using `chi`, `html/template` and `modernc.org/sqlite`. `go run .` serves http://127.0.0.1:4940: client galleries at /g/<slug>, admin at /admin. - Storage: SQLite at ./data/gallery.db for galleries, scenes (named sections), photos (EXIF date, size, scene, order), visitors, favourites and a download log. Originals in ./data/originals; 400 px and 1600 px copies (WebP and JPEG) in ./data/cache, made with `disintegration/imaging` by 4 workers on upload. - Admin: create a gallery from a folder or zip, where subfolders become scenes; set cover, title, event date, expiry date and an optional PIN. - Client page: scene tabs, a justified grid, a lightbox with arrow keys and a heart to favourite. Pre-registration: a visitor enters name and email before the grid opens, kept in a signed cookie. - Selections: favourites are saved per visitor. "Send to photographer" freezes the list, emails me the filenames through SMTP (.env) and shows it in admin as a CSV and a plain filename list. - Downloads: one photo, a scene or the whole gallery as a streamed zip (`archive/zip`, no temp files), original or web size; admin chooses which sizes are allowed and every download is logged. - Expiry: a daily job disables expired galleries and emails me a reminder 7 days before. - One photographer, one password in .env. No client accounts, no telemetry, local-first: outbound calls are SMTP only. - Out of scope: print store and lab fulfilment, payments, album designer, face or selfie search, video. - README: building on macOS and Linux, putting it behind Caddy or a tunnel with HTTPS, backing up ./data, and a warning to keep your originals backed up somewhere else too.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Pic-Time.
Add watermarks to the gallery in this folder. Requirements: - Upload a PNG logo in admin and choose its position, size and opacity per gallery. - Apply it when the 1600 px copies are generated, with `disintegration/imaging`, and keep the unmarked copies out of public routes. - A gallery setting chooses whether downloads of the web size are marked, with originals always unmarked. - Changing the watermark regenerates only that gallery's copies, in the background, with a progress bar. - Update the README.
Add photo comments to the gallery in this folder. Requirements: - A visitor can leave a note on a photo, stored with their name and email from pre-registration and a timestamp. - The admin list shows notes grouped by photo with a thumbnail, and an "Email me daily digest" option through SMTP. - Escape every note wherever it is rendered, limit notes to 500 characters and rate-limit by visitor. - A "Done" flag per note that clients can see. - Add tests for escaping and rate limits. Update the README.
Add print order requests to the gallery in this folder. Requirements: - In the favourites list, a visitor picks a size and quantity from a price list in prices.yaml for each photo and sends a request. - Store the request, email me a table of filenames, sizes and totals, and show it in admin with a status of new, quoted or paid. - No payment processing: the page tells the client I will send an invoice. - Export a request as a CSV for my lab's order form. - Update the README.
Photographers pay to turn a delivery into a sale: clients order prints and albums from the gallery, money arrives every two weeks, and the lab ships to the client. The galleries are the easy part; payment handling, lab connections and an app clients trust are why a hand-built page rarely earns anything.
Estimate · A VPS with 100 to 200 GB of disk or object storage runs a few dollars to about twenty a month, and the delivery traffic is included on most hosts. The build is token usage on your agent plan.
Checked 2026-10-20 against Pic-Time's docs: 1, 2, 3, 4, 5, 6
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 10 GB photos (3 GB after 3 months), 1 GB video, unlimited galleries, mobile app, portfolio page. |
| Beginner | $8 | $7 | 20 GB photos (about 6K), 5 GB video, print store with 30+ global labs and automatic fulfilment, basic design tools. |
| Professional | $25 | $21 | 100 GB photos (about 30K), 30 GB video, client selections, album proofing, custom domain, custom products, commission-free self-collected payments, full design kit. |
| Advanced | $50 | $42 | Unlimited photo storage (terms apply), 60 GB video, AI album designer, AI photo search for clients, 10K+ licensed tracks for slideshows. |
Free allows unlimited galleries with 10 GB of photo storage that drops to 3 GB after three months, and no full-gallery downloads for the photographer.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The print and album store with 30+ labs, payments and automatic fulfilment, Face and selfie search that lets guests find themselves in a wedding gallery.
About $8 a month on the Beginner plan, $96 a year (checked 2026-10-20).
The print and album store with 30+ labs, payments and automatic fulfilment; Face and selfie search that lets guests find themselves in a wedding gallery; The AI album designer and album proofing with the client; Licensed music for slideshows, blogs and the vendor network; The mobile app, and storage and delivery that someone else keeps online. If any of those matter to you, keep paying.
Yes: Lychee (open source), Piwigo (open source), Immich (open source).