Custom Client Delivery &
Gallery Platform
A secure, high-performance solution to replace Google Drive. Built to give professional photography the presentation it deserves while maintaining strict data privacy.
The Problem
As a photographer, I found that existing platforms failed in two critical areas: Presentation and Professionalism.
Instagram compresses images aggressively and dictates the aspect ratio. Google Drive, while functional, provides a sterile "file folder" experience that diminishes the emotional impact of a paid photoshoot.
I needed a solution that offered the visual fidelity of a gallery with the secure, bulk-transfer capabilities of a cloud drive.
- ✕ Instagram's layout limits creative control.
- ✕ Google Drive links feel impersonal for clients.
- ✕ Third-party SaaS tools have monthly subscription fees.
Data Flow & Access Control
Tiered Storage Logic
To balance performance with cost, I implemented a split-storage strategy directly on the hardware level:
- Hot Storage (SSD)Stores compressed thumbnails and cached assets for instant gallery loading.
- Cold Storage (HDD)Houses massive RAW/Full-Res files. These drives only spin up when a client requests a "Download All" zip.
Relational Data Design
I chose MySQL because strict data integrity is required to map permissions correctly.
Core Backend Features
JWT Security
Stateless authentication using JSON Web Tokens. Admin routes are protected via middleware, ensuring only I can access the CMS dashboard.
Dynamic Zipping
When a client clicks "Download All," the Java backend streams the full-res files from the HDD, compresses them into a ZIP on the fly, and serves the stream to the browser.
Smart Caching
The public gallery (homepage) utilizes server-side caching. Since these portfolio highlights rarely change, they are served instantly from memory, bypassing DB queries.