EmlakDesk

A real estate CRM built around the thing agents actually lose: listings that disappear before anyone wrote anything down.

Role
Sole developer — discovery, architecture, build
Year
2022
Status
live
  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL
  • Tailwind CSS
  • Zod
  • Leaflet

Live site

Built from a conversation rather than a feature list. The customer did not need another database of properties. They needed the ones they were already watching to stop vanishing.

The problem

Listings on a property portal belong to someone else. They get edited, relisted and deleted, and whatever an agent had learned about them goes too.

This keeps its own copy: the listing, the notes written against it over months, its current status, and its photographs, stored for good. A listing taken down last month is still there with everything anyone found out about it.

What is in it

  • Listings. A table you can filter and sort by clicking, with notes and a status on each one, and a detail page with the full photo gallery.
  • Customers. Who is looking, and for what.
  • Viewings and reminders. The part that decides whether a CRM gets used or quietly abandoned.

Notes

Next.js and Supabase. Each user only ever sees their own data, enforced by the database rather than by remembering to filter every query. Photographs are converted and stored in a way that keeps them cheap to serve and independent of wherever they came from.

Open this in the desktop