Consumer · Events · Web

SnapCache

The photos from an event end up scattered across a hundred phones. SnapCache gives the event one gallery: guests scan a QR code and upload straight from the browser — no app, no account — and the organizer downloads the whole album as a ZIP when it's over.

Consumer WebMedia PipelineSubscription BillingBackground JobsGrowth Loops
SnapCache landing page: Every photo. One place. Zero friction.

what we delivered

The hard part of an event gallery isn't storing photos — it's removing every reason a guest might not bother. No download, no sign-up, no password. Scan, upload, done. The product is built around that one constraint.

SnapCache organizer dashboard listing events with photo and like counts
The organizer's side — every event, its gallery, and what it's collected.

frictionless guest upload

Guests identify themselves with a name and join by QR code — no account to create. Uploads run through a dedicated service with drag-and-drop and an in-browser camera, so a phone at a wedding reception is a first-class client rather than an afterthought.

galleries that expire by plan

Free and starter galleries carry an expiry date; business galleries don't. A nightly job expires what's due, warns organizers before it happens, and the plan's photo cap is enforced as guests upload rather than discovered later.

moderation and engagement

Photos can be flagged, moderated, and filtered to approved-only for public view. Guests like images, and galleries sort by newest, oldest, or most-liked — which surfaces the good shots without anyone curating by hand.

billing and plan movement

Stripe checkout, portal, upgrades, downgrades, cancellations, and webhooks — with the awkward paths handled: what happens to a gallery that exceeds the cap of the plan its owner just downgraded to.

a referral loop

Galleries on the free plan carry a Powered-by banner and a conversion prompt; referral codes credit the organizer who brought someone in. The product's growth path is built into the artifact guests already see.

what this demonstrates

SnapCache is a consumer product with a real business model attached — media handling, plan enforcement, billing edge cases, and the growth mechanics around them.

Consumer-grade UX

A flow designed for someone holding a drink at a party — QR to upload in seconds, on a phone browser, with nothing to install and nothing to remember.

Media at volume

Active Storage variants, infinite-scroll galleries, in-browser capture, and ZIP export of a full album — handled as a pipeline rather than a form with a file field.

Plan limits as a system

Caps, expiry windows, and gates expressed in one place and enforced across uploads, jobs, and billing transitions — including the downgrade paths most products skip.

Scheduled background work

Sidekiq jobs for gallery expiry, reminder emails, sitemap generation, referral credits, and SMS — the recurring work that keeps a live product honest.

Rails + React on Rails

Server-rendered pages with React mounted where interactivity earns it, on Shakapacker — a pragmatic split instead of an SPA for its own sake.

Growth instrumentation

Gallery views, upload events, and analytics tracked as first-class records, so engagement is a queryable fact rather than a guess.