Studio Italica
← All work

Case study · Real estate

Click Real Estate

A digital estate agency in Seville where buyers search by neighbourhood and sellers follow their sale from their phone.

Industry
Real estate · Seville
Our role
Design, development, hosting and maintenance
Year
2026
Click Real Estate homepage
01

The problem

Big property portals treat every listing the same and leave sellers in the dark: they can’t see how many viewings their home gets or which offers come in. Click wanted the opposite — a small, curated set of homes, useful data for every neighbourhood, and sellers who see everything in real time.

02

What we did

Design

  • Product identity and component system
  • Search, property pages and area pages
  • Designed mobile-first

Logic

  • Listings with filters and a map by neighbourhood and town
  • Buyer alerts
  • Home valuations backed by statistical models
  • Private seller dashboard: viewings and offers in real time
  • PDF reports

Infrastructure

  • Next.js 15 and React 19 with TypeScript and Tailwind 4
  • FastAPI with async SQLAlchemy, PostgreSQL 16 and Alembic
  • Redis, transactional email via Resend and S3-compatible storage
  • Docker on Hetzner, error tracking with Sentry
03

Technical decisions

Leaflet maps on GeoJSON
Neighbourhoods and towns are drawn with their real boundaries, so search and area pages share the same geography.
NextAuth with Google sign-in and two-factor
The seller area holds sensitive data, so access goes through Google plus a second factor.
An async Python backend
FastAPI with async SQLAlchemy on PostgreSQL 16 and versioned Alembic migrations — the same language as the statistical valuation models.
Email, files and reports
Transactional email via Resend, files in S3-compatible storage and PDF reports generated on the server.
Docker on Hetzner, watched by Sentry
The whole system runs in containers on a Hetzner server, with error alerts in Sentry and 30+ scheduled jobs.
04

Screenshots

Homes for sale with filters
Search. Filter by area, type, bedrooms and price, with an alert for new listings.
Property page with photo gallery
Property page. Gallery, price per m² and a virtual furnishing proposal.
Two-step home valuation form
Valuation. A two-step form for owners to request a valuation.
Triana neighbourhood page with price per m²
Prices by area. One page per neighbourhood, with asking prices compared to the Seville average.
Click Real Estate on a phone

Built for phones

Every screen was designed at 390 px wide first, then scaled up to desktop.

05

Outcome

The site is live at clickrealestate.es and we continue to maintain it.

automated tests across backend and frontend
11,000+
areas on the map: 33 Seville neighbourhoods and 44 towns
77
API endpoints
700+
scheduled jobs: alerts, market data, backups
30+

Figures checked against the code and production in November 2026.

Visit clickrealestate.es ↗

Stack: Next.js 15 · React 19 · TypeScript · Tailwind 4 · NextAuth · Leaflet + GeoJSON · FastAPI · SQLAlchemy async · PostgreSQL 16 · Alembic · Redis · Resend · S3 · Sentry · Docker · Hetzner

Need something like this?

Tell us about it in 20 minutes and we’ll tell you how we’d build it.