A full-stack rental platform built for the Lviv apartment market, connecting tenants, property owners, and agencies in one place.
Three User Roles
The platform supports three distinct registration paths, each with its own dashboard and permissions:
Tenant: Browse listings, save favorites, and communicate directly with owners or agencies.
Property Owner: List apartments, manage availability, respond to inquiries, and track tenant interest.
Agency: Manage multiple properties on behalf of owners, handle bulk listings, and coordinate viewings.
AI-Powered Natural Language Search
The standout feature is an AI-driven search engine that understands plain human language. Instead of clicking through filters, users simply describe what they're looking for:
"I need a 2-bedroom apartment near the city center, under $500/month, with a balcony"
The AI parses the request, matches it against available listings, and returns the most relevant results. No dropdowns, no checkboxes, just a conversation.
Technical Highlights
Frontend: React and Next.js for a fast, SEO-friendly interface with server-side rendering
Backend: Python with FastAPI handling authentication, role-based access control, and AI query processing
Database: PostgreSQL for structured listing data, user profiles, and search history
AI Layer: Natural language processing pipeline that converts free-text queries into structured database searches
SEO Optimization: Server-rendered pages, dynamic meta tags, and structured data for property listings
Key Features
Role-based registration and dashboards (Tenant / Owner / Agency)
AI-powered conversational apartment search
Real-time listing management and availability updates