real estate agency platform

Client

ELSE LOOK

Role

Fullstack across both generations — data model, GraphQL API, frontend, infrastructure and deployment.

Year

2023—2026

Stack

Kotlin, Spring WebFlux, GraphQL, R2DBC + jOOQ, PostgreSQL, Next.js, TypeScript, Strapi, Apollo Client, AWS S3, Docker

KotlinSpring WebFluxGraphQLR2DBC + jOOQPostgreSQLNext.jsTypeScriptStrapiApollo ClientAWS S3Docker

Project

ELSE LOOK is a real-estate agency that sells and rents properties, offers investment advisory and provides photography services. It needed a website where properties can be filtered, browsed in a gallery with a map and enquired about directly with a broker. I built two generations of the platform and was responsible for the data model, the API, the frontend, the infrastructure and the deployment.

The first generation from 2023 ran on Next.js, Strapi 4 and PostgreSQL. Strapi supplied the editorial system, the blog and the SEO plugins, while I focused on the property catalogue with URL-backed filters, pagination and a detail page with a lightbox gallery and Google Maps. Forms were protected by hCaptcha.

I wrote the second generation as a custom reactive backend in Kotlin. Spring WebFlux over R2DBC PostgreSQL, queries through jOOQ, a GraphQL API and an integration with the Eurobydlení real-estate portal for listing export and synchronisation. Transactional emails come from Thymeleaf templates, brokers are alerted through Twilio and Telegram notifications, and reCAPTCHA v3 guards the forms.

The result is a system with its own API that can be extended further. Looking for a Kotlin backend developer for a similar project? Write to me.

ELSE LOOK — screenshot 1
ELSE LOOK — screenshot 2
ELSE LOOK — screenshot 3
ELSE LOOK — screenshot 4

Technology

The second-generation backend runs on Kotlin and Spring WebFlux over R2DBC PostgreSQL. I write queries in jOOQ, version the schema with Flyway migrations and guard scheduled jobs with ShedLock. The API is GraphQL, the frontend is Next.js with Apollo Client. Media lives on AWS S3, Sentry tracks errors, and build and deployment run in Docker and GitHub Actions.

What I built

A reactive Kotlin GraphQL backend — Spring WebFlux over R2DBC PostgreSQL, jOOQ queries, a Flyway-versioned schema and ShedLock-guarded scheduled jobs.

A property catalogue with URL-backed filters, pagination and skeleton loaders; detail pages with a lightbox gallery and Google Maps.

Integration with the Eurobydlení real-estate portal — listing export and synchronisation.

An editorial system and blog — Strapi 4 in the first generation (i18n, SEO, navigation, sitemap and comments plugins), a custom API in the second.

Forms protected by hCaptcha and reCAPTCHA v3, transactional emails via Thymeleaf templates, notifications through Twilio and Telegram.

S3-backed media upload and delivery, sitemap generation, Sentry monitoring and CI/CD with Docker and GitHub Actions.

Let's talk about your project!