← All projects

PROJECT / 02 / PERSONAL PRODUCT

Homeasy.

Turning scattered rental listings into one useful search

Data collectionTelegram mini appWorking prototype
Visual reconstruction of the Homeasy feed with synthetic listingsAPP UI RECONSTRUCTION

Context

The problem

Finding a rental in Cambodia can mean checking many Facebook posts and local sites. Listings use different formats and languages, and the same property may appear more than once.

Homeasy aims to bring those listings into one search and reduce the work of comparing details and tracking new posts.

Approach

A pipeline for each listing

I split the process into clear steps: collect a post, extract its details, normalize the fields, compare possible duplicates and send the result to the user interface.

01SourcesFacebook / Khmer24
02ExtractionLanguage model + rules
03MatchingDuplicates / quality
04DeliveryAPI / bot / app

Simplified view of the listing pipeline.

What I built

Main product features

01

Collection from multiple sources

Separate adapters for Facebook and Khmer24, with error handling and controls for unnecessary traffic.

02

Structured data from text

LLM extraction and deterministic rules create a shared data model for filtering.

03

Duplicate detection

Compares listing details and image fingerprints (pHash) to reduce repeated results.

04

Search and alerts

Fastify API, React mini app, saved listings, filters and a Telegram bot with search alerts.

Result

A working end-to-end MVP

The product connects collection, processing, storage and search in a Telegram interface. I continue to improve data quality, speed and integration reliability.

The interactive example uses three fictional posts and combines one repeated listing. It demonstrates the rules in the demo; it is not a benchmark of the live parser or language model.

Open the interactive demo ↗

View selected code samples on GitHub ↗ — this is a public showcase, not the full production repository.

UI reconstruction; all listing data is synthetic.