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
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.