Skip to main content
Algo Vortex
Back to case studies
E-commerce
Loom & Luxe

Loom & Luxe dress rental marketplace case study

Rentals, deposits, and return logistics

Loom & Luxe is a designer dress rental marketplace. Shoppers book rental windows with Stripe holds and deposits. Owners track inventory and earnings in a lender dashboard. Return labels and courier pickup run from rental state when the window closes.

Loom & Luxe cover screenshot

Project intent

Loom & Luxe is a designer dress rental marketplace for short events. Shoppers browse an editorial catalog, book a rental window, pay a fraction of retail, and get pickup handled when the window closes. Owners and brands need inventory, active rentals, and earnings in one lender dashboard instead of side chats and spreadsheets.

The business needed rental commerce that feels like shopping, not a form dump. Deposits, delivery addresses, and returns had to be productized. If those steps stay manual, the marketplace cannot grow past a handful of garments and a very patient ops person.

Trust sits at the center. Renters need deposits and holds that feel fair. Lenders need payouts and inventory status they can verify. Both sides had to feel comfortable putting real garments and real event dates into the system, not treating it like a weekend experiment.

The storefront had to feel like fashion retail while the backend behaved like a logistics system. Pretty pages without return automation fail. Automation without an editorial catalog fails too. That tension is the real product.

Challenge

A one-night dress should not cost a full retail hit. Early rental flows broke on deposits, delivery addresses, and getting garments back on time. Holds and security deposits were awkward in checkout. Addresses typed by hand caused failed deliveries. When the rental ended, return labels and courier pickup depended on someone remembering to start the process.

Lenders needed visibility too. Without a dashboard for inventory and earnings, owners could not trust the marketplace with more stock. The catalog also had to feel editorial. Bulk retail grids fought the brand. The build had to carry storefront design, payment holds, maps for address and tracking, and return logistics in one coherent path.

Event weekends create sharp traffic spikes. A slow checkout or a failed address lookup is not a soft failure when the dress is for Saturday. Return logistics fail loudly too. If garments stay out after the window, the next booking collapses. Lifecycle automation had to work under pressure.

Brand partners also needed confidence that damages and late returns would not disappear into a shared inbox. Deposit and hold rules had to be explicit in checkout and enforceable in Stripe, or lenders would pull inventory after the first bad cycle.

Solution

We built a Next.js and React storefront with a Ruby on Rails API on Elastic Beanstalk. RDS PostgreSQL holds catalog and rental state. Amazon S3 stores product imagery. Stripe handles rentals, authorizations, and deposits. Google Maps covers address autocomplete and delivery tracking. Datadog and Sentry watch the stack. The storefront ships on Vercel.

Checkout books the window and places the right Stripe holds. When the rental ends, return labels and courier dispatch kick off from rental state instead of a manual checklist. The lender dashboard shows inventory, active rentals, and earnings so brands can grow stock without losing the plot.

Design work stayed tied to the rental flow. Catalog and detail pages sell the garment. Checkout explains the window, deposit, and return path in plain language. The lender dashboard mirrors that honesty with inventory and earnings that match Stripe and rental state, so owners do not reconcile the business in a private spreadsheet.

Architecture

Shoppers hit the Next.js storefront on Vercel. Catalog and rental mutations go through the Rails API on Elastic Beanstalk into PostgreSQL. Product images live in Amazon S3 and render through the storefront detail and catalog pages. Stripe webhooks and checkout sessions keep payment state aligned with rental records so deposits and captures do not drift from what ops sees.

Address fields use Google Maps autocomplete. Delivery tracking uses the same Maps stack so status is not a free-text note. Return and courier steps are driven by rental lifecycle events in Rails. Datadog and Sentry sit on the API and storefront so payment, webhook, or deploy issues show up before a busy event weekend turns into a support pile.

Rails owns rental state machines, Stripe webhook handling, and lender admin paths. Next.js owns SEO-friendly catalog routes and the editorial front door. Elastic Beanstalk hosts the API close to RDS. S3 keeps imagery out of the app servers. Datadog and Sentry watch both layers so a payment webhook miss or a storefront error is visible before support hears about it first.

Catalog imagery and rental records stay loosely coupled on purpose. S3 objects can change presentation without rewriting rental history. Rails rental rows remain the ledger for money and logistics even when the Next.js storefront evolves.

Security and access

Stripe handles rental authorizations, holds, and deposits. Webhooks keep payment state aligned with Rails rental records so captures do not drift from what lenders see. Delivery addresses use Maps autocomplete in checkout, which cuts mistyped destinations without turning address entry into a free-for-all.

Lender earnings and inventory live in owner-facing dashboard views, not a shared ops inbox. Sentry and Datadog watch storefront and API errors so payment webhook misses and deploy issues surface before a busy event weekend piles up support tickets.

Key features

  • Editorial catalog and detail pages built for browsing
  • Checkout with Stripe for rentals, holds, and deposits
  • Return labels and courier dispatch after each rental window
  • Lender dashboard for inventory, rentals, and earnings
  • Google Maps address autocomplete and delivery tracking
  • Next.js storefront with Rails API on Elastic Beanstalk

Results

  • Editorial catalog and detail pages built for browsing, not bulk grids
  • Checkout with Stripe for rentals, holds, and security deposits
  • Return labels and courier dispatch after each rental window
  • Lender dashboard for inventory, active rentals, and earnings
Loom and Luxe product catalog of designer dresses for rent
Loom and Luxe product catalog of designer dresses for rent
Loom and Luxe product detail page for a rental dress
Loom and Luxe product detail page for a rental dress
Loom and Luxe checkout flow for rental booking and payment
Loom and Luxe checkout flow for rental booking and payment
Loom and Luxe lender dashboard for inventory and earnings
Loom and Luxe lender dashboard for inventory and earnings

Technology stack

Next.jsReactRuby on RailsPostgreSQLAmazon S3StripeGoogle Maps APIVercelAWS Elastic Beanstalk

Frequently asked questions

Want to talk through a similar build? Contact Algo Vortex or browse the full FAQ.

Want to talk through a build?

Need a dedicated team or a clear project plan? We match engineers to your stack and put a first plan on the calendar.

Get in touch
Book a call