A branded client portal that replaced Pixieset for a fitness filmmaker: his clients’ films, stills and bill in one place, run from his own website.

Ben Leonard films athletes, apparel labels and the gyms that built them, out of Bellingham. I pitched him a rebuild on August 19, and the site went live on blmotion.com on September 21.
Ben’s delivery ran across tools that didn’t talk to each other. His website was a Pixieset template and payments went through Square. Each one came with its own login and its own look, for Ben and for every client he sent a link to.
The website itself had the same problem in miniature. A film company with Motion in its name had zero videos on its site, four project pages ending on buttons that linked nowhere, and wedding copy left on a powerlifting page.
Pixieset is built to hand photos to clients. It was never built to deliver a brand film to an athlete on his phone and collect the balance in the same visit.
For his clients. They sign in at blmotion.com/clients and land on their own project: the featured film at the top, the whole set with its file count and size, and the open balance beside it. They can filter films from stills, open anything full screen, download one file or everything at once, and pay without leaving Ben’s brand. The Pay button only shows up when there is something to pay.
For Ben. /studio is the owner side of the same site. He adds a client with an email and a generated temporary password, types in the project and the balance, pastes the Square link, and drags in the set. Big films upload in 64 MB parts, three at a time, with retries. There is no storage dashboard to open and no second app to learn.
Under the hood. Webflow switched off its own user accounts in January 2026, so logins run on Supabase, with row-level security keeping every client inside their own set. Files live in a private Cloudflare R2 bucket and open through signed links that expire after 12 hours, so a forwarded link dies. Downloads cost nothing, so the storage bill only grows with what is sitting there, and sets come down 90 days after delivery.
The rest of the site. The public pages got a normal modernizing pass. The home page opens on Ben’s footage, every project has a real page with the client, year, scope and deliverables, and the copy speaks to athletes and labels as well as gyms.
Password resets that reached no one. Supabase’s built-in mailer only delivers to the project’s own team, so a reset worked for me and would have failed silently for every real client. It was found before a single client had an account, and a custom mail sender went on the go-live list.
The wrong athlete on the wrong page. A portal only works if every file is filed under the right client, and the public site taught me that first. For three rounds of checks, the Powerlifting United page led with a film of a bodybuilder who belonged to Iron Sanctuary, because I had matched footage to clients by filename. Checking how Ben grouped the work on his own old site fixed it, and every page was re-checked so no client’s media sits under another client’s name.
Green numbers, letterboxed films. The first breakpoint sweep passed every automated check while every vertical film sat in a thin strip on a phone. The final sweep covered 12 pages at 15 widths, from 320 to 2560 pixels, and then the phone renders were read by eye.

The whole client visit on a phone, recorded on the live site with a demo account. Sign in and the film is already there, with the set and the balance right under it. Any file opens full screen with its own download button, or the whole set comes down at once. Clients keep access to their set for 90 days after delivery, on a site that looks and feels like Ben the whole way through.
No new software and no extra accounts. On /studio Ben adds a client with an email and a generated temporary password, sets the project, the balance and the Square link, then drags the set in. It works from his phone too. Removing a file from the list deletes it from storage as well, so what the client sees and what Ben pays to store never drift apart.

The balance, the invoice note and a Pay button that opens Square’s secure checkout, on the same screen as the film. When nothing is owed, the button isn’t there. Instead of hunting for a separate invoice email, the client sees what is owed the moment they come for their files.
The rest of the build was a normal modernizing pass. The home page opens on Ben’s footage, every vertical client film runs full screen on a phone, and each project got a real page. Before launch, 12 pages were checked at 15 widths from 320 to 2560 pixels, then read by eye on a phone.

The portal is the part I’d point to. A delivery now looks like Ben from the first click to the payment, and he runs it without learning anything new.
The site went live on September 21, 2026, so it’s too early for results. When his first clients have been through the portal, I’ll add what they did with it.