Kodula
Bespoke PropTech platform and custom CMS for real estate.
Kodula is a modern, high-end real estate agency operating in Estonia. In a highly competitive real estate market, visual presentation, immediate responsiveness, and digital accessibility are paramount to securing exclusive property listings and attracting premium buyers.
NSWEB was commissioned to develop a bespoke PropTech ecosystem for Kodula from scratch. Moving away from heavy, unoptimized ready-made CMS templates, we engineered a fast, unified Nuxt application covering the public site, the admin dashboard, and the API layer, backed by a Postgres database through Prisma. This architecture allows the agency to manage property portfolios with maximum speed and zero operational friction.
After running successfully in production for several years, the platform's original Vue.js frontend and Ruby on Rails backend were fully migrated to this single Nuxt 4 codebase, replacing the Rails API and Devise authentication with Nuxt server routes and session-based auth while carrying over every listing, photo, and admin account.

1. Kodula digital interface engineered by NSWEB
The Challenge
Standard real estate platforms built on monolith systems often suffer from poor performance due to unoptimized image assets and rigid content structures. For Kodula, the core engineering challenges included:
- Heavy Media Overheads: Real estate listings rely on high-resolution image galleries. Uploading raw photographs directly into standard web servers drastically inflates loading times, destroying mobile SEO performance.
- Complex Multi-Language Management: Operating in Estonia requires flawless runtime switching between languages. Managing dynamic, localized property descriptions across multiple languages often creates heavy database payloads.
- High-Friction Property Discovery: Users expect instantaneous property searching. Combining multiple query matrices (price ranges, area, location, room counts, and energy efficiency classes) typically results in slow, unoptimized database lookups that bottleneck server response times.
Our Solutions
Nuxt.js
PostgreSQL
1. High-Performance Client Application & Reactive Search
To capture user attention, we focused heavily on visual luxury, fluid micro-interactions, and instant database querying.
- Advanced Multi-Parametric Filter Engine: We engineered a low-latency property search layer. Built with reactive states in Vue.js, the interface allows users to seamlessly filter properties by dynamic criteria in real time. Instead of triggering clunky page updates, query mutations are debounced and resolved immediately via fast JSON responses.
- Immersive GSAP Animations: Utilizing GSAP (GreenSock Animation Platform), we designed subtle, high-performance scroll-driven animations. Because these are directly tied to browser compositing layers, they remain perfectly smooth at 60 FPS even on low-powered mobile displays.
- Dynamic Image Galleries: Engineered a custom responsive lightbox and carousel system. Heavy assets are automatically lazy-loaded, ensuring that high-resolution property photography doesn't block the initial page execution.

2. Optimized property profile with integrated responsive media grid

3. Property grid
2. Custom Nuxt CMS Backend & Media Pipeline
Instead of relying on rigid third-party plugins, we built a highly secure, lightweight headless backend tailored specifically to real estate data models, running as Nuxt server routes right alongside the public site.
- Optimized Search Queries (Prisma + Postgres): The API layer utilizes deep, indexed Prisma queries against Postgres to handle the advanced property filter subsystem. Database schemas are indexed heavily on operational parameters (price, status, type), ensuring complex parametric lookups execute in milliseconds.
- S3 Media Pipeline: Implemented an automated background media processing pipeline. When the agent drops high-resolution photos into the manager, Sharp-powered workers handle image optimization before the files land in S3, compressing files into lightweight web formats and stripping unnecessary metadata.
- Relational Localization Schema: Designed a structured database schema to manage translations. The backend seamlessly matches property attributes across multiple language variants, preventing unlocalized content from breaking the frontend experience.
The Business Outcome
- Instant Visual Loading & Filtering: By coupling the indexed Postgres search queries with a reactive Vue 3 frontend, users can find matched properties in fractions of a second, significantly lowering bounce rates.
- Flawless Content Deployment: Operational workflow times for creating new listings were cut down significantly. The client can upload, localize, and publish a new property to the public domain in less than three minutes.
- Premium Brand Positioning: The inclusion of fluid GSAP motion design elements and advanced PropTech functionality successfully elevated Kodula’s digital brand footprint, aligning the agency with premium estate standards.
- Simplified Operations: Consolidating the frontend, admin dashboard, and API into one Nuxt codebase removed an entire deployment target and the Rails/Ruby toolchain, cutting the platform down to a single build and release pipeline.