Skip to main content
Back to case studies trasterOne

trasterOne — Spain's Nº1 Self-Storage Comparison Site

Self-storage search and comparison platform with over 1,700 centres indexed across Spain and Andorra. AESS 2025 Innovation Award.

Next.js React Marketplace SEO Growth PropTech
+1,700
Indexed centres
+370
Municipalities covered
AESS 2025
Innovation Award
trasterOne - Project overview

Soamee designed and built trasterOne, the storage-unit comparison site with over 1,700 centres indexed across more than 370 municipalities in Spain and Andorra. The platform won the AESS 2025 Innovation Award from the Spanish Self-Storage Association, was shortlisted again in 2026, and is funded by the European Union through NextGenerationEU.

The challenge

Spain’s storage rental market is split between hundreds of independent operators, each with its own website, its own way of naming unit sizes and its own pricing. Anyone shopping for a unit ended up with ten tabs open, comparing prices that weren’t even quoted the same way. There was nowhere to see an area’s supply side by side. trasterOne had to become that place: the “Idealista of storage units”.

Our solution

We designed and built trasterOne as a full comparison platform, optimised for SEO and conversion.

Technical architecture

Platform architecture

The foundation is Next.js. Centre pages are server-rendered, with all their content in the initial HTML: that is what lets 1,700-plus centre pages be crawled and indexed without depending on Google executing JavaScript. The search view works the other way round, resolving client-side against the API so that filtering by size, services or price never forces a page reload.

The Node.js backend exposes a REST API feeding both the public frontend and the operator portal. Separating the presentation layer from the data layer lets each scale on its own and keeps the external integrations (Google Maps, Google Reviews) away from the render path.

Search and comparison

  • Geolocated search engine by address, street, neighbourhood, city or proximity, with Google Maps integration
  • Comparison system with Google Reviews ratings built in and filters for size, access type, climate control and security
  • A 3-step journey: Search, Compare, Rent, with a quote request or a direct booking with the centre
  • Centre directory holding over 1,700 listings across Spain and Andorra

Interactive map view

Results use a two-panel layout: a list of centres on the left and a Google Maps view on the right, each centre’s starting price shown as a label on its marker. In dense areas such as central Madrid, nearby markers cluster so the map stays readable. Every card shows a photo, a “Promotion” badge when an offer is running, a star rating aggregated from Google, a short address and a from-price. The point is to let people rule a centre out without opening it.

Centre detail page and contact flow

Each centre has its own page with a photo gallery of the facilities and a rate breakdown by unit size: S (1–3 m²), M (4–6 m²) and L (over 7 m²), each with its monthly price including tax and its own “Book Storage Unit” button. Below that sit the centre’s services (24h access, customer parking, 24h CCTV, climate control, AESS membership) with clear iconography, plus the access schedule day by day.

The contact sidebar gathers every route to the operator: direct WhatsApp, phone call, a link to the centre’s own website, the physical address linked to the map, and a short form (name, email, phone and message) that produces a qualified lead without making the user sign up first.

Directory and operator access

Alongside the consumer-facing search, the main navigation carries the centre directory, an SEO blog and two doors into the B2B side: “Register your company” for operators joining the platform, and “Operator access” for those already managing their listing from the self-service panel.

Programmatic SEO strategy

The ranking challenge was competing against operators who had been ranking for their own brand and their own city for years. The answer was to generate the long tail none of them covers alone:

  • One page per centre generated from the operator’s data, with the URL hierarchy mirroring geography and brand: /alquiler-de-trasteros/{city}/{operator}/{centre}. Madrid holds 226 listings and Barcelona 157, but the real volume is in the tail: over 370 municipalities with at least one centre
  • City landing pages at /alquiler-de-trasteros/{city} for head terms (“storage units in Madrid”)
  • Schema.org (JSON-LD) with SelfStorage and AggregateRating on every listing, ItemList on result pages and WebSite plus SearchAction on the home page, so Google can render stars, address and phone in the snippet
  • Dynamic sitemap split by content type (static pages, blog, centres) and regenerated as new centres are onboarded

Google Maps integration

The integration goes beyond dropping markers. Addresses submitted by operators are normalised and geocoded before being stored, because a centre placed wrongly on the map is a centre that never shows up in proximity searches. Those coordinates drive the map clustering, the sort by distance and the listing itself, which combines operator data with the aggregated Google Reviews rating.

Operator panel

  • Registration and self-service portal where operators publish, update and manage their centres
  • Metrics dashboard covering views and enquiries received
  • Photos served from Google Cloud Storage through a purpose-built image proxy that resizes and serves WebP: operators upload whatever they have to hand, and page weight doesn’t suffer for it

Key technical decisions

DecisionAlternative discardedWhy
Server-rendered centre pagesClient-rendered SPAOver 1,700 pages that live on organic traffic can’t wait for Google to run JavaScript
Client-resolved searchPage reload per filterComparing means touching the filters repeatedly; every reload was a chance to drop out
Google Maps APIMapbox / LeafletNative tie-in with Google Reviews and Places enriches listings with data the operator never has to fill in
One URL per centreHand-written city contentDemand sits in the long tail of municipalities and brands, impossible to cover by hand
Own REST APIBaaS (Firebase/Supabase)Control over filtering logic and over the integration with each operator’s booking system
Node.js backendPython/DjangoSame ecosystem as Next.js, and good throughput for a backend that is mostly I/O against external APIs

Results

  • 1,700+ centres indexed across Spain and Andorra, each with its own URL
  • 370+ municipalities covered, from Madrid (226 centres) and Barcelona (157) to small towns where nobody else competes
  • AESS 2025 Innovation Award from the Spanish Self-Storage Association, and shortlisted again in 2026
  • NextGenerationEU funding from the European Union
  • Operators on the platform include RedTras, CABE, Globalbox, Homebox, SmarTTrasting, Cityo, Trasteros Plus, Trasteros Galaxy and Boxo

Tech stack

  • Next.js (frontend and server rendering for SEO)
  • React (UI components)
  • Google Maps API (geolocation and map)
  • Google Cloud Storage (centre photos)
  • Schema.org / JSON-LD (structured data)
  • Node.js (backend and REST API)

Need a similar project? Discover our web development service →

Want to grow organically like trasterOne? Discover our growth marketing service →

Methodology

How we work

Every project follows our artisan process, adapted to each client's specific needs.

01

Discovery & Requirements

Deep dive into business, users and objectives. Ideation workshops, market research and MVP scope definition.

02

Design & Architecture

Wireframes, interactive prototypes and technical architecture. Client validation before writing code.

03

Development & Testing

2-week sprints with demos. CI/CD, code review and continuous testing. Feedback every iteration.

04

Delivery & Evolution

Production deploy, monitoring and support. Post-launch metrics and continuous improvement roadmap.

Ready to build something amazing?

Let's talk about how we can help your company achieve results like these.

trasterOne - Case Study

Tell us your challenge. We'll propose a solution.

No commitment. Within 24 hours, you'll receive a proposal with scope, timeline and budget. No fine print.

Book a free call →