Centralized client state
Redux provides a predictable place for authentication and shared application state instead of threading state through unrelated component trees.
Case study
A property discovery experience built around practical CRUD flows
A MERN real-estate application with authentication, Google OAuth, property listings, search-oriented UI, Redux state, and MongoDB persistence.
01
House Hunt is a full-stack real-estate application that lets users authenticate, create and manage property listings, and browse available properties through a single web experience. It was built as a practical end-to-end MERN project covering frontend state, API design, authentication, and database-backed CRUD operations.
02
Property listing projects quickly become more than a collection of cards: users need identity, listing ownership, predictable create/update/delete flows, and a frontend that keeps state synchronized with the API.
03
House Hunt combines a React interface and Redux-managed client state with a Node/Express API and MongoDB persistence. Authentication establishes user ownership so listing-management actions can be tied to the correct account.
04
05
06
Redux provides a predictable place for authentication and shared application state instead of threading state through unrelated component trees.
Listing mutations are associated with an authenticated user so editing and deletion are not treated as anonymous CRUD operations.
07
01
Problem
The interface needs to react consistently when a user signs in, signs out, or completes an OAuth flow.
Approach
Authentication state is centralized and used to drive protected actions and account-aware UI.
02
Problem
A property listing should not be modifiable simply because its database ID is known.
Approach
Mutation flows connect listings to their owner and require authenticated requests for management operations.
08
09
I'm happy to walk through the architecture, trade-offs and implementation decisions in more depth.
Contact me