Case study

06Safe HouseLead PM · Development Manager · QA Oversight

Safe House — Real Estate Platform (Website + Agent Portal)

Strategic focus · Self-hosted Armenian real estate platform with 15-layer market-specific search

Custom React/Node.js platform replacing a broken WordPress site — public discovery with 15-layer filtration, 3-step agent listing flow, branch-isolated admin portal, and real-time analytics across 607 active properties.

Role

Lead PM · Development Manager · QA Oversight

Duration

6 months

Delivery

Full Agile — design through production

Team

2 Developers (FE/BE) · 1 Designer · 1 QA

Market

Armenia (hybrid — on-site + remote)

Domain

Real Estate · SaaS · B2B

607

Active Properties

91,786

Total Property Views

4,072

Properties Shared

3

Languages Supported

The problem

Safe House was managing their entire property portfolio on a broken WordPress site — constant performance issues, no data ownership, no agent accountability, and no analytics. Agents had no centralized tool to manage their listings, track inquiries, or update statuses. The business was growing but their infrastructure couldn't support it.

Problem Statement

What was broken — and what we built instead.

Before Safe House

  • Broken WordPress site — frequent stucks, poor performance, shared hosting
  • No data sovereignty — client's property data on third-party servers
  • No agent portal — property listings managed manually, no accountability per agent
  • No analytics — no way to track views, shares, or listing performance
  • No inbox system — inquiries from property pages lost or manually tracked
  • No branch structure — all agents in one flat environment
  • Single language — excluding Russian and English-speaking clients

Safe House Solution

  • Custom self-hosted React/Node.js platform — client owns all data and server
  • Role-based agent portal — each agent manages only their own listings and inbox
  • Branch isolation — Dashboard/My Properties/Inbox/Contacts/Users/Branches per role
  • Real-time analytics dashboard — total views (91,786), shares (4,072), active properties (607)
  • 15-layer search and filtration system across 6 property categories
  • 3-language support: Armenian, Russian, English — per listing title and description
  • Yandex Maps integration — pin-point property location on interactive map

Discovery

Research & Discovery

Client workshops, Armenian real estate buyer research, and third-party API discovery (Yandex Maps) — before specifying the custom React/Node.js platform.

Transaction TypeBuy / Rent / Daily Rent
Property TypeApartment / House / Commercial / Land
Property TagsNew Construction / By Developer / Investment
LocationProvince (11) + District (per province)
PriceRange slider with min/max input
RoomsStudio Apt / 1 / 2 / 3 / 4 / 5+
ConstructionStone / Bricks / Wooden + subtypes
Floor Areasq/m range slider (10–500)
RenovationNo Renovation / Needs / Cosmetic / Major / Designer
UtilitiesElectricity / Gas / Drainage / Water / Hot Water / Irrigation / Heating
AdditionalsGarage / Parking / Security / Intercom / Fireplace / AC / Pool / BBQ

Delivery

Execution & Artifacts

Public website

Public Website — Hero & Search

The public-facing website is the primary discovery surface for buyers, renters, and daily rental seekers. The hero search is designed for immediate engagement — property type, transaction type, province/district, room count, and sq/m range all accessible from the landing screen without navigating away.

Filtration & listing

Filtration & Property Listing Flow

Filtration and listing work as one product loop: buyers search with the 15-layer panel, agents post through a 3-step flow (Fill In → Preview → Post), and every published property feeds back into the same filter dimensions. Progressive disclosure keeps casual browsers light while power users get full Armenian-market depth.

Admin portal

Agent Admin Portal

The admin portal is the operational backbone. Each agent works in an isolated environment — only their own listings, inbox, and contacts. Branch managers see their branch. Super Admin sees everything.

Analytics & profile

Analytics & agent profile

Architecture Decision

5-Tier RBAC with Branch Isolation

Key architecture decisions shaped for full data ownership, branch isolation, and the Armenian/Russian-speaking market.

Super Admin

Full platform visibility

Branch Manager

Branch-scoped data

Agent

Own listings & inbox

View-only

Read-only access

  • Self-Hosted — custom React/Node.js on client-controlled server; full data ownership, no third-party dependency.
  • Branch Isolation — agents cannot see other branches' listings, inbox, or contacts; 4-level permission model.
  • 3-Language Listings — independent title and description in Armenian, Russian, and English per listing (manual entry, not auto-translated).
  • 15-Layer Filtration — Armenian provinces, construction types, and utility configurations at depth international platforms lack.
  • Messenger Integration — Telegram, WhatsApp, Viber, and Messenger attached to agent phone numbers on listing pages.
  • Yandex Maps — chosen over Google Maps for better local coverage, faster load, and familiarity with the primary user base.

My role

What I owned vs what I delegated

My Ownership

  • Full product discovery — client workshops, requirements gathering, problem definition
  • System architecture — permission model, branch structure, data ownership strategy
  • Feature specification — every screen, every field, every validation rule
  • 15-layer filtration system design — researched Armenian real estate market specifically
  • 3-step listing flow design — engineered to prevent data quality issues
  • Development management — technical tasks to 2 developers across Agile sprints
  • QA oversight — acceptance criteria definition and UAT
  • Stakeholder communication — hybrid delivery with client team on-site and remote
  • API research — Yandex Maps integration specification

Team Execution

  • 1 Front-End Developer — React implementation from my specs
  • 1 Back-End Developer — Node.js API and database from my architecture
  • 1 Designer — visual execution from my UX direction
  • 1 QA — test execution against my acceptance criteria

Outcomes

Impact & Metrics

Approach

  • Led full product discovery — client workshops, requirements gathering, and problem definition.
  • Specified system architecture — permission model, branch structure, and data ownership on client-controlled servers.
  • Designed 15-layer filtration researched specifically for Armenian real estate buyer behavior.
  • Engineered 3-step listing flow (Fill In → Preview → Post) to prevent incomplete or misclassified listings.
  • Managed 2 developers across Agile sprints with QA oversight and hybrid stakeholder delivery.
  • Specified Yandex Maps integration and 3-language listing structure (Armenian, Russian, English).

Outcomes

  • Custom self-hosted React/Node.js platform — client owns all data and server.
  • Role-based agent portal — each agent manages only their own listings and inbox.
  • Branch isolation — Dashboard, My Properties, Inbox, Contacts, Users, and Branches per role.
  • Real-time analytics — 91,786 total views, 4,072 shares, 607 active properties (production data).
  • 15-layer search and filtration across 6 property categories.
  • 3-language support per listing title and description — Armenian, Russian, and English.
  • Yandex Maps pin-point property location on interactive map.

Skills demonstrated

PM competencies proven in this project

Product Roadmap

6-month end-to-end delivery — discovery through production, zero scope creep

Agile/Scrum

Sprint planning and backlog management across 4-person cross-functional team

Technical PM

React/Node.js stack, Yandex Maps API, server architecture, branch permissions

User Research

Armenian buyer behavior informed market-specific 15-layer filtration

KPIs/Metrics

Analytics dashboard — views, shares, active listings per agent and branch

Stakeholder Mgmt

Hybrid delivery over 6 months with Armenian-speaking client

QA/UAT

Acceptance criteria per feature — zero post-launch critical bugs reported

Go-to-Market

3-language support and Yandex Maps for Armenian/Russian-speaking market

Platform Capabilities

ReactNode.jsSelf-hosted SaaSBranch RBACYandex MapsMulti-language listingsReal estate B2B
Real EstateSaaSB2BArmeniaSelf-hostedAgent portalMulti-language
← Portfolio homeAll case studies →