HearthSeek
A back office and a public website for a Spokane real estate agent and their brokerage, built as a working prototype. It has been proposed, not adopted, and it runs on sample data until the MLS access it was designed around exists.
- Role
- Designer and sole builder
- Period
- Sep – Oct 2026
- Type
- Prototype · proposed, not in use
The question it answers
Every morning: what properties or opportunities appeared or changed that the agent should care about? That’s a different job from a search portal. The core record is the property, not the listing: a property can be listed, withdrawn and relisted, and it also has parcel records, permits, recorded sales and zoning, each from a different source.
What I built
A morning dashboard of what changed, a map, and a page per property that shows every fact and where it came from. Public county records (parcels, recorded sales, zoning, permits, the foreclosure list) are wired in, alongside CSV imports of the agent’s listings and contacts.
Home search, listing pages with the disclaimers MLS rules require, area guides, buyer and seller guides, and a home-value request. Every form sends one kind of inquiry into the back office, with a record of the person’s consent.
An MLS Grid sync, built and tested against sample records. It refuses to run until the licence and token exist.
See it





The back office screenshots come from a throwaway copy loaded only with made-up test properties and buyers, which is why everything carries a Sample badge. On the website screenshots, the agent’s name, photo and contact details have been swapped for made-up ones.
The decisions that matter
Each value keeps its source, when it was seen, how authoritative that source is, and what it may be used for. When two sources disagree, the property is flagged for a double-check instead of one answer being picked quietly.
The agent asked for help finding new buyers and sellers. The rule I wrote: the system may assist, record, organize and compliance-check prospecting the agent does, but it may not go and collect personal data from sources that don’t license it. Publicly visible isn’t the same as licensed to use, and nobody is turned into a lead from a property record.
When someone asks never to be contacted, everything about them can be erased except a salted one-way hash of how to reach them. Otherwise the next contact import would add them straight back.
MLS data licensed for a back office can’t be shown to the public, so the website gets its own feed and shares nothing with the back office except the inquiry format. Fields the MLS rules forbid on a public page don’t exist in the website’s listing type at all.
Integrations without credentials fail closed and say so. Sample data is marked everywhere it appears, decided by where it came from rather than how it looks, so nothing made up can pass for real.
Honest state
It’s a prototype, and nobody is using it. I proposed it to an agent and brokerage I know; they’ve been too busy to take it further. Very little real data has gone through it, and the MLS feed and the public site’s listings are waiting on MLS Grid and IDX access that doesn’t exist yet.
Through the Foundation Layer
Most of HearthSeek sits low in the stack. The compliance rules are L1: they define how prospecting is allowed to run before anyone runs it. One home for the data is L2. Every fact showing where it came from, and whether its sources agree, is L3. The Foundation Layer.