We built the identity checks, deposit handling, and damage waiver flow that made peer-to-peer gear rental work without a commercial insurance policy.
Lock Locker’s founder travelled for sport constantly and paid for it twice: in baggage fees, and in gear that arrived damaged. Commercial rental insurance quotes made the marketplace model unviable. We built a React Native app on a .NET backend with admin-reviewed ID verification, Stripe-held security deposits, a damage waiver charged per booking, and Google Maps discovery. No underwriter. Gear now rents where it sits.
Lock Locker came to us founder-led and pre-launch, with a category insight and no product. They wanted a team that would argue with the business model where it was fragile, specifically around liability and deposits, before anyone wrote marketplace code. The app was never the risky part.
Every trip cost twice. Checked-bag fees on a ski bag or a bike case ran higher than a day’s rental, and roughly one trip in four ended with a cracked board or a bent derailleur that no airline would cover. Meanwhile the same equipment sat unused in garages ten minutes from the hotel.
The model only worked if a stranger would hand over a $2,000 bike to another stranger. Commercial rental insurance quotes came back at a premium that erased the margin on every booking under a week. Without an answer to liability, there was no marketplace to build.
The liability model went in before the listing flow. We recognized the pattern from other high-value peer-to-peer rental categories: trust is the surface the whole transaction sits on, and it has to exist before a single listing does. So the first architectural decision was to treat a booking as three separate money movements rather than one. A rental fee, a refundable security deposit, and a non-refundable damage waiver, each authorized, held, captured, or released by Stripe on its own schedule.
Identity came second. We went with admin-reviewed government ID and photo capture rather than automated matching, because at launch volume a human reviewer cost less than a verification vendor contract and gave the client a direct read on who was joining the supply side.
React Native carried the mobile build. Two stores, one codebase, one team, and roughly 40% below a dual-native equivalent, with the .NET backend holding the marketplace rules so both apps stayed thin enough to ship together.
One cross-platform app across two marketplace roles, plus a web admin panel.
One squad ran the whole build: two React Native engineers, one .NET engineer, a designer, and a QA lead, on two-week sprints with a Thursday demo the founder attended every time. Payments went into a Stripe sandbox in sprint three and stayed under test through launch, because deposit capture and partial release are the flows that fail quietly and expensively. The admin panel shipped a sprint ahead of the apps so the review queue was staffed and rehearsed before the first real lender signed up.
Lock Locker operates US-wide without an underwritten insurance policy. Every booking carries a damage waiver and a held deposit, and the admin console releases, partially captures, or holds that deposit against a photographed condition report from both sides of the handover. A lender can list from a garage in an afternoon and clear identity review overnight.
The request form turned a dead end into a sourcing signal. When a renter searches a region and finds nothing, the gap is logged with a category and a location, and the client’s inventory and ad spend now follow that data instead of guesswork. Adding a new equipment category is now a configuration change in the admin panel.
“I came in thinking the hard part was the app. They spent the first two weeks pulling apart my insurance assumption instead, and that conversation is the reason the business works. The build was the easy half.”
If you are mapping deposits, verification, and payouts for a rental product, we have built that flow end to end.
Start the conversation