Nomad
SpaceBook evolution · Developer preview

The SpaceBook, organized

Turn the client's space book into a much more organized shortlist. Spaces move into the right chapter as client and broker activity happens, while brokers retain control over every change.

Static clickable mockups of the target UX, plus the rules and data model to build it on the current Next.js and Supabase stack.

5standard chapters
9screens
4build phases
01

Five chapters, company-wide.

Every client book uses the same five chapters. A clean, consistent foundation reads as professional to clients and keeps newer brokers from over-customizing. Additional chapters stay off by default and can be revisited later.

Broker controlled

Newly Added

Turned on per book. Brokers upload new-to-market spaces here. They stay until the client adds to tour or marks Not A Fit, or the broker moves them to Market Overview after 2 to 3 weeks with no engagement.

Broker decision

Final Selections

The ranked shortlist the broker will submit on, in the 1, 2 and 3 slots. Only a broker can place or rank a space here.

Auto created

Add to Tour | Toured

Created the first time a space is added to tour. Each space shows Tour requested, then Toured once the tour happens.

Auto created

Market Overview

Created on the first Add to Tour or Not A Fit. Holds every space the client hasn't acted on, plus Newly Added spaces the broker moves over.

Auto created

Not A Fit

Created the first time a space is marked Not A Fit. One team mark can be restored by the broker; two marks from different team members closes it. Collapsed at the bottom, never deleted.

Top Choice is retired. It overlapped with Add to Tour. The two client actions are Add to Tour and Not A Fit.

One chapter at a time

Every space belongs to exactly one chapter. No duplicates across chapters.

Placement follows activity

Chapter placement is derived from recorded client reactions, tours and broker decisions, so brokers don't reorganize the book after every interaction.

Brokers can always drag

A broker can drag any space to any chapter. Each manual move is recorded as an event and reflected in the book.

02

Core product rules

Newly Added is personal

The broker decides which spaces sit in Newly Added. The "new" badge and count are per viewer: each person sees what's been added since they last viewed the book, not a shared counter that goes stale for the team.

Numbers follow priority

Display numbers reflect the client's priorities: Final Selections ranked 1, 2, 3, then toured spaces in chronological order, then Market Overview, then Not A Fit. Newly Added spaces show a bullet until they're placed. Each space keeps a permanent ID behind the scenes.

The funnel shows the book at a glance

Total spaces, toured spaces and final selections. Selecting a number filters the book and the map.

Useful context, not a chatbot

A concise "Since you were here" update and a "Why it's in your book" line. After a tour, capture why a space stood out as a fit or top contender, or why it was worth seeing despite drawbacks. Every explanation ties to recorded notes and client feedback. No match scores, no unsupported reasons.

Client and broker views stay in sync

Client actions apply immediately. Broker moves are published as a change set; once published, the book updates for the whole client team in real time.

Two Not A Fits closes a space

When a team member marks Not A Fit, the space moves to Not A Fit and a comment naming who marked it posts to This space and General. That comment always stays. The broker can restore a 1-mark space to Market Overview. A second Not A Fit from a different team member closes it in Not A Fit for good: two negative reviews are enough to record and move on.

The team acts as a unit

Everyone on the client team sees how the others are interacting: feedback, tour adds, Not A Fit marks and the shortlist.

03

Desktop

04

Mobile prototype

Each phone is live: tap cards, buttons and back arrows to move between screens. Scroll sideways for all seven.

1 · HomeFunnel, since-you-were-here, chapter chips, Newly Added cards, ranked finals. Open
2 · Space detailSpec tiles, why-it's-here, Not A Fit and Add to Tour in the thumb zone. Open
3 · Not A FitReason chips (tappable) that tell the broker what to source next. Open
4 · Compare finalsSide by side, figures tied to the listing, tour notes included. Open
5 · MapPins numbered by priority, colored by chapter. Open
6 · Tour day modeGut check per stop and a typed note on why it stood out. Open
7 · ActivityEvent timeline with a last-visit marker. Open
05

Build notes

The event log is the source of truth. The current chapter, display numbers and book view are derived from it.

What the system must preserve

RequirementWhere it lives
Space identity and display numberbook_spaces.id (permanent) and display_no (derived from priority order, recomputed on every published change)
Book and client-team membershipbook_members: book_id, user_id, role (client, broker, admin). The client team reads one shared view of reactions, notes, shortlist and Not A Fit.
Events: actor, action, timestamp, affected spacebook_events: id, book_id, space_id, actor_id, actor_role, type, payload, created_at. Append-only.
Each viewer's last-viewed pointbook_members.last_viewed_at, used for the per-viewer New badge and Since you were here
Approved change sets with 30-day undochange_sets: id, book_id, broker_id, published_at, undo_until, undone_at. Each broker event carries change_set_id. Undo writes reversing events; nothing is deleted.

Chapter lifecycle

  1. Book created. All spaces show as one list. Newly Added (if turned on) and Final Selections are empty.
  2. First Add to Tour or Not A Fit. That chapter is created, and Market Overview is created to hold every space the client hasn't acted on.
  3. Broker adds new-to-market spaces. They land in Newly Added, unnumbered.
  4. Client acts. Add to Tour or Not A Fit moves the space immediately.
  5. Newly Added goes stale. At 14 days with no client action the broker gets a nudge. Broker decides; nothing moves on its own.
  6. Broker shortlists. Broker moves and ranks spaces in Final Selections, then publishes.

Placement rule

A space's chapter is set by its latest placement event. A broker's move holds until the client acts on that space again.

EventResult
space_added (newly_added)Newly Added
space_addedMarket Overview, or the flat list before any engagement
add_to_tourAdd to Tour | Toured, Tour requested
tour_completedSame chapter, Toured
not_a_fit (1st team member)Not A Fit, plus an auto comment in This space and General. Broker can restore.
broker_restoredMarket Overview. The comment stays; the mark still counts.
not_a_fit (2nd distinct member)Not A Fit, closed. Restore is disabled.
broker_movedChapter the broker chose, on publish
final_rankedFinal Selections slot 1, 2 or 3

Display order and numbers

  1. Newly Added, newest first, shown with a bullet.
  2. Final Selections, by broker rank: 01, 02, 03.
  3. Add to Tour | Toured: toured spaces by tour date, then tour requested.
  4. Market Overview, in broker order.
  5. Not A Fit, by date marked.

Because numbers follow priority, they can change. Notes, comments and emails should reference the space name or permanent ID, not the display number.

Schema additions

TableColumns
book_spaceschapter (newly_added, final, add_to_tour, market_overview, not_a_fit, null), tour_status, final_rank, display_no, sort_key, added_at
booksnewly_added_enabled, stale_after_days (default 14)
space_notesspace_id, author_id, kind (tour_note, broker_note), text, visibility. Source for Why it's in your book.
not_a_fit_reasonsevent_id, reason, note. Always shared with the team.
book_spaces (Not A Fit)nfit_members (count of distinct client members who marked it, never reset by restore), nfit_closed (true at 2)
org_settingscustom_chapters_enabled (default false)

Permissions

  • Client team: Add to Tour, Not A Fit, tour notes, comments. No drag, no chapter edits.
  • Broker on the book: restore a 1-mark Not A Fit to Market Overview (not a closed one), drag between the 5 chapters, rank Final Selections, toggle Newly Added, act on stale nudges, publish and undo change sets.
  • Admin: can enable custom chapters by role. Off company-wide today.

Removed

  • Top Choice reaction and UI. Migrate existing Top Choice reactions to add_to_tour.

Phases

  1. Event log, team membership, 5 chapters with auto creation, two-mark Not A Fit rule with auto comments, broker drag as events, priority numbering, funnel with filters, Top Choice removal.
  2. Newly Added toggle with per-viewer badges and stale nudge, change sets with publish and 30-day undo, real-time sync.
  3. Since you were here, Why it's in your book, tour notes, Not A Fit reasons, Compare Finals.
  4. Tour day mode, map pins by chapter.