Feedback arrives out of context
Album changes often show up as email paragraphs, screenshots, or vague spread references.
Upload exported album design files, send one private flip-through proof, and collect precise client comments without account setup or scattered email threads.

Secure proof link
Tokenized URL for client review.
Pinned comments
Feedback stays on the spread.
Approval record
Decision tied to the version.
Problem
Album Approve keeps every note, revision, and decision connected to the proof your client is reviewing.
Album changes often show up as email paragraphs, screenshots, or vague spread references.
A proof should be easy to open, review, comment on, and approve without another account setup step.
Studios need comments, revisions, approvals, and exports tied back to the album version being reviewed.
Product
The app starts after the album design is ready: upload the exported spreads, share the proof, gather exact feedback, and keep a record of what changed.
Add exported JPG, PNG, or PDF album spreads to a project.
Create one private proof link for the client review.
Collect pinned notes on the exact spread that needs edits.
Track revisions, resolve notes, and capture the decision.
Use cases
Album Approve is intentionally narrow: final album proofs, client comments, revision rounds, and production handoff.
Send a polished proof link after the album design is ready and keep feedback tied to each spread.
Replace spreads, create new versions, and preserve the review history for the project.
Export CSV feedback so production notes can move cleanly into the next step of the workflow.

Client experience
Clients move spread by spread, click the part of the layout that needs attention, and submit approval when the album is ready.
Architecture and features
Server Actions handle mutations, data access is centralized, and external services are isolated behind server modules so the app can run locally and move toward hosted infrastructure.
Projects contain album versions, spreads, comments, share links, approvals, and subscription state.
JPG, PNG, and PDF imports validate file type, extension, size, storage-key safety, and dimensions where available.
The studio dashboard handles uploads, replacements, proof links, comment resolution, revision rounds, and CSV export.
Security and trust
The security model keeps dashboard users and proof guests separate while avoiding direct exposure of storage keys.
Share tokens are generated with cryptographic randomness and stored as HMAC hashes.
Album spreads are served through signed asset routes instead of exposing private storage keys.
Dashboard access uses signed HTTP-only sessions, while proof access is scoped to share tokens and optional proof cookies.
Workflow inputs and service boundaries
Keep handoff simple with file imports, CSV export, tokenized proof links, and isolated service boundaries for data, billing, email, and private storage.
JPG, PNG, and PDF imports become reviewable proof spreads.
Project comments can be exported as CSV from the studio dashboard.
A Postgres migration exists for studios, clients, projects, versions, spreads, comments, approvals, and subscriptions.
Stripe checkout/webhook and Resend email boundaries are isolated behind server modules with local stubs.
The local storage layer is designed to move to Supabase Storage or S3-compatible private object storage.
Clients can review, comment, request changes, or approve from a tokenized proof URL.
Studio workspace