EstateFlow
Purpose-built CRM for real estate agents with AI-powered listing generation




Why this needed to be built
How it works
Built with
System design
What I learned
UX for non-tech users: simplicity over features
Real estate agents are busy and not developers. Every feature had to pass a 3-tap test: can a user accomplish this in 3 taps or fewer? The drag-drop pipeline was refined 4 times before passing. Removing the 'advanced filters' modal and replacing it with a persistent sidebar filter doubled usability in informal testing.
Why dark mode matters in real estate
Agents often show properties at night or in dim environments (showings at dusk, evening calls). Dark mode with proper contrast ratios isn't just aesthetics — it's the difference between comfortable use and eye strain on a phone during a 9pm showing walkthrough.
Leaflet + Next.js 15 SSR: the hydration trap
Leaflet requires browser APIs that don't exist in Node.js. Dynamic imports with `ssr: false` solved this, but the map still flashed on initial load. The fix was a CSS skeleton that matched the map dimensions exactly — users see a placeholder that's the right size, then the map fades in seamlessly.
What I'd do differently
I'd implement optimistic UI updates for the drag-drop pipeline from day one. The current 300ms server round-trip before UI reflects the move creates a perceptible stutter on slower connections. React Query mutations with rollback would eliminate this entirely.
Want me to build something similar for you?
Hire me for your project →