Relay
Real-estate tools for agents: buyer enquiries, property listings, and a mobile workflow that can queue changes offline.
Relay explored the everyday work around selling a property: collecting enquiries, understanding a buyer's requirements, and giving agents useful listing information. I worked on it with a real-estate team, across backend services, property ingestion, contact forms, and the later mobile agent portal.
The preserved projects include contact forms connected to ClickUp, listing data ingestion, and prototypes for viewing registration and property paperwork. Later work under the Wover name added a mobile portal with optimistic updates and queued server operations. These remain private prototypes, with some screens wired to services and others still at the interface stage.
Highlights
- Buyer and seller enquiries connected to ClickUp
- Property data normalized from listing sources
- Mobile edits with an ordered reconnect queue
In action
An enquiry has to reach someone
The first useful boundary was between a person asking about a property and the agent following it up. Relay's contact form collected buyer or seller interest, contact details, and notes. The server created a contact task in ClickUp, assigned it to the agent's team, and returned an identifier for the new record.
That gave the form somewhere concrete to send its information. The agent's listings also came from ClickUp, including photos, price, and bedroom and bathroom details. It connected an ordinary web interaction to the tools used to manage the work, rather than leaving another enquiry in an isolated database.
Listings need a common shape
Property information arrives in several forms. The ingestion work retrieved listing identifiers and details from Trade Me, then normalized the fields needed elsewhere: property type, photographs, location, price display, attributes, and agency information. Batches sent those records to the application API.
The same project explored viewing registration and home requirements, including a buyer's budget, bedrooms, and bathrooms. Those interfaces were not all connected to a completed backend. Their value in the prototype was making the information flow visible, while the implemented ingestion and contact integration provided firmer foundations underneath it.
Keep the interface moving
Later work developed a mobile agent portal under the Wover name. Its local state layer applied changes immediately, while server operations entered a queue. When connectivity returned, operations were replayed in order and the local state could be reconciled with the response.
The important detail is that a responsive screen and a successful server write are different events. The prototype tracked both instead of making every interaction wait for the network. The inspected replay queue lived in memory, so this was reconnect behaviour within a running session, rather than a claim that every edit survived an app restart.
A property is more than a listing
Shared form models covered vendors, sale methods, title, occupancy, viewing hazards, rooms, and construction. Those details belong to different parts of the agent's workflow, and treating them as typed records helped the mobile interface and services agree on what each form meant.
This was collaborative work with the real-estate team, spanning the Relay backend in 2023 and agent-portal changes in 2025. The remaining repositories preserve both working integrations and unfinished screens. Together they show the progression from capturing an enquiry to modelling the larger process around a property sale.