Civilized

Web / Marketplace / 0-to-1 Product Build

Moto Venice

Exotic and performance motorcycles for rent in Venice, CA.

Client

Moto Venice

Role

Product, Design & Full-Stack Engineering

Timeline

2025 – Ongoing

Moto Venice homepage hero, exotic motorcycle rental marketplace in Venice, CA

The problem

The peer-to-peer motorcycle rental space is dominated by national marketplaces (Riders Share, Twisted Road, EagleRider) that treat every bike like a commodity and every owner like a line item. None of them are built for a small, curated fleet operator who actually wants to run a business: control the brand, manage the bikes, take film and photo bookings, and offer consignment to nearby owners.

Moto Venice needed a direct-to-rider product. One that could handle the unsexy operational work (availability, deposits, mileage caps, delivery windows, ID verification) while still feeling like an extension of the brand instead of a Shopify theme bolted to a calendar plugin.

The constraints were operational, not theoretical:

Three audiences sharing one site: weekend riders, film/photo productions, and motorcycle owners shopping a consignment program.

Every booking has insurance, deposit, and damage exposure. The flow has to capture the right data the first time.

Inventory is small and high-value. Double-bookings or pricing mistakes hurt unit economics more than missed conversions.

The operator runs the shop. Anything we built had to be runnable without a dev on call.

The approach

We treated Moto Venice as a product, not a website. That meant building the surfaces customers see (the fleet, the booking flow, the shoot rentals page) on the same data model that runs the back office. One source of truth for bikes, availability, pricing, and customer state.

Moto Venice 'How It Works' section showing the three-step rental flow

The home page funnels three distinct audiences (riders, productions, consignment owners) into a single rental flow.

One product, three audiences.

The site has dedicated experiences for everyday riders, for productions booking shoot bikes, and for owners signing up for the consignment program, but they all feed the same fleet, the same calendar, and the same Stripe ledger. No duplicate data, no parallel spreadsheets.

Booking is the product.

We obsessed over the booking surface (date and time selection, availability rules, deposit holds, mileage and delivery options, license capture) because that is the conversion. Everything else on the site is in service of getting a qualified rider into a clean booking with the right paperwork attached.

Built to be operated, not just launched.

The admin surface lets the operator add bikes, adjust pricing, block out dates, manage rentals, and run the consignment program without touching code. Launch was step one; the system is the long game.

A small fleet is a brand. The product has to feel like one, not like a calendar plugin glued to a Shopify theme.

The work

The fleet & booking surface

Moto Venice bikes browse page with filters and rental availability

The fleet browser pairs filters (brand, type, dates) with live availability so riders self-serve qualified bookings.

Fleet browser with brand and type filters, mileage and daily-rate visibility, and a date-range availability picker tied to the booking calendar

Per-bike detail pages with image carousels, specs, deposits, and deep links into the booking flow

Booking flow with date/time selection, mileage caps, optional delivery, document capture, and Stripe deposit holds

Email confirmations and operator notifications via Resend on every booking transition

Productions & consignment

Moto Venice photo and video shoots landing page

Shoots: a separate funnel for photo and video productions.

Moto Venice consignment / rental management landing page

Rental management: 50/50 consignment program for local owners.

Dedicated /shoots experience built for productions: hourly pricing, location and crew notes, faster handoff

Dedicated /rental-management experience for owners considering consignment, with the 50/50 split, storage, and detailing offer made explicit

Lead capture and pre-qualification on both surfaces, so operator follow-up is targeted and not a sales triage exercise

Operations & growth

Moto Venice featured bikes grid on the home page

Featured bikes on the home page draw from the same fleet model that powers the browser, the booking flow, and the admin.

Single Postgres-backed fleet model powering customer surfaces, admin tools, and the booking ledger

Stripe Connect-style deposits and payouts, with damage holds and refund flows wired through the same pipeline

Render-hosted Next.js application behind Cloudflare for cache, image delivery, and bot protection

SEO-tuned content surface (FAQ, comparisons, blog) so the marketplace can rank against larger national operators

Operator runbook and admin docs so day-to-day ops do not require an engineer in the loop

The outcome

Moto Venice runs a curated fleet of premium motorcycles (Triumph, Ducati, Harley, BMW, Aprilia, MV Agusta) through one owner-operated marketplace. Bookings, productions, and consignment all flow through the same product, with the operator in control of pricing, availability, and brand.

The surface area is small enough to be loved, and the system underneath is structured enough to grow. New bikes onboard in minutes. New rental categories ship as data, not a redesign.

Moto Venice homepage on mobile

Mobile is the primary surface. The booking flow is built mobile-first.

Moto Venice bikes page on mobile

Fleet browse and filtering scale from desktop to phone.

A marketplace with one operator is a brand with a database underneath. We built both, and handed the operator the keys.

Tech stack

Next.js

TypeScript

PostgreSQL

Stripe

Resend

Cloudflare

Render

Want this kind of work on your team?

We read every message. Real reply within two business days.

Start a project