Select Interactive
Self Storage & Online Leasing

2024 (ongoing)

Marketing Website · Internal Web App · Ecommerce

RetailOperations software

EZ Storage

Visit ezmini.com

Overview

EZ Storage is a self-storage operator with more than 40 years in business and 15 facilities across Detroit, Philadelphia, Pittsburgh, and St. Louis. We took over support in 2024, when the public site was still an ASP.NET 2.0 application more than fifteen years old.

The first phase added something that application had never done: an integration with a third-party storage management API, so customers could see real availability and real prices and start a lease online instead of calling an office. When the legacy stack ran out of room, we planned a ground-up redevelopment with the client and rebuilt the site on TanStack with React, TypeScript, Vite, Tailwind, and Nitro.

Alongside it we built a custom internal dashboard on the same stack, putting real-time reporting and automated SEO audit reports in the operator's hands. That is the same audit program running for Bluebird Creative Co and Schneider Law Firm. The site itself is retail work: fifteen storefronts that have to close the sale.

The Challenge

Keep a fifteen-year-old ASP.NET application online and producing revenue while bolting real-time inventory, pricing, and online lease processing onto it, then replace the whole thing without losing any of that integration, without breaking the per-facility local search footprint that fifteen locations depend on, and without flattening the discount and promotion logic customers see at the individual unit level.

Services

  • Legacy ASP.NET Support and Maintenance
  • Storage Management API Integration
  • Online Lease Processing
  • Real-Time Inventory and Pricing
  • Ground-Up Redevelopment
  • TanStack Start & React
  • Multi-Location SEO Architecture
  • Custom Internal Dashboard
  • Real-Time Reporting
  • Automated SEO Audits and Reports
At a Glance
15
Facilities across Detroit, Philadelphia, Pittsburgh, and St. Louis
ASP.NET 2.0
The application we inherited, supported, and replaced
Real-Time
Unit availability, pricing, and discounts from the storage API
Dashboard
Internal reporting and automated SEO audit reports

The Handoff

A fifteen-year-old application, taken over and kept running.

When Select Interactive took over support in 2024, EZ Storage was running an ASP.NET 2.0 application that had been in service for more than fifteen years. Nobody gets to pause the business while a rebuild happens, so the first job was operational: understand a codebase nobody on the current team wrote, keep it stable, and keep fifteen facilities bookable. That period is also where the real requirements came from. You learn what a site actually has to do by maintaining it, not by interviewing about it.

API Integration

Real inventory, real prices, a lease that starts online.

The largest addition to the legacy site was an integration with the storage management platform EZ Storage runs its operation on. That turned a static list of facilities into a live storefront: unit sizes from 5x5 through 10x30 with availability and pricing read in real time, list price shown against the discounted price, promotions attached at the unit level, and feature attributes like climate control or drive-up access that customers can filter on. Reserve and Rent Now both became in-site actions instead of a phone call, so a customer can go from a search result to a signed lease without leaving the site. Nothing on the page is a nightly snapshot. What a customer sees is what the system of record says at that moment, which is what keeps a rented unit from being sold twice.

The Rebuild

Rebuilt on TanStack, with the integration intact.

The legacy stack eventually stopped being a constraint we could work around and became the constraint. We planned the redevelopment with the client rather than presenting it, then rebuilt the entire site on TanStack with React, TypeScript, Vite, Tailwind, and Nitro. The API layer was refactored rather than reimplemented from scratch, so online lease processing, real-time inventory, and pricing and discount handling carried over intact. The measure of a rebuild like this is that nothing a customer relies on quietly disappears in the move.

Local Search

Fifteen facilities, fifteen local search footprints.

A self-storage operator competes address by address, so the site is structured that way. Market hubs sit at /detroit, /philadelphia, /pittsburgh, and /st-louis, with each facility on its own page underneath. Every facility page carries the things a nearby searcher and a search engine both want: office hours against gate access hours, amenities, photos, reviews, long-form local area content covering neighborhoods and nearby cities, and cross-links to the other locations in that market. Structured data is emitted per facility using the schema.org SelfStorage type, alongside Organization, WebSite, and BreadcrumbList markup site-wide.

Internal Dashboard

The reporting and SEO tooling the operator actually opens.

The second half of the engagement is a custom internal dashboard built on the same TanStack stack with Shadcn/UI. It gives the EZ Storage team real-time reporting on their own numbers, runs SEO audits against the site, and produces automated audit reports on a schedule. It is the same audit program we run for other clients, moved inside a product the operator owns instead of arriving as a monthly attachment. The public site and the dashboard share a stack, which means one set of conventions and one team maintaining both.

Built With

A TypeScript rebuild on TanStack Start, with a third-party storage management API supplying live inventory, pricing, and lease processing, plus an internal dashboard on the same stack.

  • Nitro
  • React
  • Shadcn/UI
  • Tailwind CSS
  • TanStack Form
  • TanStack Query
  • TanStack Router
  • TanStack Start
  • TypeScript
  • Vite
  • Zod

Based in Fort Worth & Dallas, TX

Let's build something remarkable.

Start a Conversation