Product architecture

How Nestly works

A visual overview of the core flows, rules engine and data model powering the platform.

System overview

Clients
Web · Mobile web · PWA
API Gateway
Edge · Auth · Rate limits
Data layer
Postgres · Storage · Search
Listings service
Messaging
Moderation
Search & geo

Listing publication flow

1
Owner drafts
Fill details + photos
2
Auto-validate
Photo & content checks
3
Moderation
Admin approves
4
Indexed
Search + map ready
5
Discovery
Tenants view + save

Rules engine

Match scoring
  • Sector proximity to saved locations · weight 0.35
  • Price within ±15% of budget · weight 0.25
  • Verified owner & recent activity · weight 0.20
  • Amenities coverage · weight 0.20
Trust & safety
  • Auto-hide after 3 open reports
  • Duplicate photo detection (perceptual hash)
  • Contact-info scrub in messaging preview
  • Owner verification via ID + phone OTP

Data model

User
id
name
email
role
verified
avatar
Listing
id
ownerId → User
price
sector
photos[]
status
Message
id
fromId → User
toId → User
listingId?
text
read
Favorite
userId → User
listingId → Listing
Report
id
reporterId
targetType
targetId
status
Notification
userId
channel
template
sentAt

Request lifecycle

1
Client sends signed JWT request to edge gateway
2
Rate-limiter + role-based ACL check
3
Handler dispatches to microservice (Listings, Messaging, Moderation)
4
Postgres transaction + Redis cache invalidation
5
Search index refresh (Meilisearch) + real-time push
6
Response streamed back with edge-cached hints
Average latency: ~140ms p50 · ~380ms p99