
Property marketplace
Wain
A bilingual Oman property marketplace where buyers and renters search listings and compare verified agents, while professionals manage listings and leads.
Platforms: Web App, Admin Dashboard
Property valuation engine
A Dubai property valuation engine that turns raw sales and rental Excel exports into building-level fair values, rental yields and confidence labels.







YieldX on desktop and mobile
01 Overview
YieldX is a Dubai property valuation engine that turns raw transaction exports into a building-level valuation data set. An operator drops sales and rental spreadsheets into one page. The system cleans them, skips duplicates and values every building and bedroom type with a stated level of evidence.
Dubai transaction data usually reaches analysts as large Excel files that overlap and mix apartments, villas and hotel units. Turning that into fair values by hand is slow and hard to repeat. We built the upload panel, the API, the data loader and the valuation engine, so the whole process runs from a single upload.
02 The challenge
The data was messy, the comparisons had to be fair, and every figure had to be honest about how much evidence stood behind it.
Transaction exports arrive as large Excel files that overlap with each other, so the same sale can show up more than once.
The exports mix apartments with villas and hotel units, which cannot be valued against each other.
A flat had to be compared first with its own tower, then sister towers, then similar buildings nearby, with recent sales counting for more.
Some buildings have many sales and some have only two, so every figure needed a clear label for the evidence behind it.
Runs are long and the hosted database can drop idle or mid-query connections, so the pipeline had to survive broken links.
03 What we built
We built a FastAPI service and a Python valuation engine on Supabase Postgres, with a one-page Next.js panel in front for the operator.
The operator drops every sales and rental Excel file at once. There is no need to sort or rename files before uploading.
Each file is identified as sales or rental from its header row. The panel shows how many of each were found before the run starts.
New rows land in a temporary table first, and only rows not already stored are inserted. Uploading the same file twice adds nothing, and the panel reports how many duplicates were skipped.
The engine filters outliers, groups sister towers and weighs comparables before writing results. Each building and bedroom type gets a valuation built the same way every time.
A unit is compared with its own tower first, then sister towers, then similar buildings nearby, with recent sales weighted more. This keeps comparisons fair across very different buildings.
Each result is labeled high, medium or low confidence, with plain-text flags such as how many direct comparables stand behind it. Analysts can see at a glance which figures to trust.
The panel shows each stage: uploading files, saving raw data, running the engine and complete. Only one run is allowed at a time, because each run rewrites thirteen output tables.
The engine checks the database connection and retries when the hosted database drops a link. Long runs finish instead of failing halfway.
04 The results
An operator loads a batch of Excel exports and the system writes building-level valuation records into tables ready for a dashboard.

Property marketplace
A bilingual Oman property marketplace where buyers and renters search listings and compare verified agents, while professionals manage listings and leads.
Platforms: Web App, Admin Dashboard

Real estate investment platform
Acquire Hub is the real estate investment platform for Copper Oak Asset Management, tracking foreclosure auctions, renovations, resales and AI-read title reports.
Platforms: Web App, Admin Dashboard

Football film study platform
A film study platform for American football coaches and players. Coaches cut game film into tagged clips, draw and talk over plays, track team stats and send each player the clips meant for them.
Platforms: Web App, Admin Dashboard