A full website redesign for a Bellingham photographer and filmmaker, built around a branded client portal: his clients’ films, photos and bill in one place, on his own site.

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.
It started as a straight website redesign. Ben wanted his old Pixieset template brought into a modern Webflow build with more movement, better copy and a layout that looked as professional as his work.
While I was researching his industry and how he actually works, two things jumped out. His deliveries were spread across Pixieset, Google Drive and Square, and he wants to work with bigger clients. Bigger clients notice when the handoff looks like everyone else’s.
I’ve always loved the idea of having your own front door to every service you use, so I brought Ben the idea of a member space: one login on his own site for the film, the photos and the bill. It wasn’t in the brief. It turned into the best part of the project, and the most fun to build.
None of Ben’s tools talked to each other. Each one came with its own login and its own look, so a single shoot could mean three different links for his client, and none of them looked like BL Motion.
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. Every public page was redesigned too. 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.
Film-first on every page. Vertical client films run full screen on a phone instead of sitting in a thin strip, and every project page holds up from a small phone to a big monitor. 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. Ben’s work stands up next to anyone’s, and now the way he delivers it finally matches. His clients sign in on his own site, under his own name, and get the film, the photos and the bill in one place.
It pulled his deliveries off Pixieset and Google Drive and onto a site he already owns. The whole website took two weeks to build and the portal took three days. It costs him about a dollar and a half a month to run, and he didn’t have to learn anything new to use it. For a photographer at his level, that’s the difference between sending one more gallery link and handing over something that feels like a real studio.