b34c5592026-07-21Broker contact enrichment: profile_url (Crexi contact path) for all 699 national brokers + 666 firm websites; Contact-on-Crexi links on cards + profiles. Crexi doesn't expose phone/email so we link to the real profile instead of fabricating
2f224392026-07-21National brokers: 47/50 states covered (recovered OH/WA/NC/TX/TN/WI/VT big markets via straggler passes)
58ae46f2026-07-21Backfill CRCP broker states from office_addr (39 states with state data)
0f3b28e2026-07-21National brokers: 573 crexi brokers across 38 states + broker state filter (dropdown + card chips + /api/brokers?state=)
83016462026-07-20Individual client accounts (file-based, snapshot-safe): scrypt signup/login + stateless signed-cookie sessions; claim-to-account (claims link to user); /account page (signup/login/my-claims); Account nav link; broker page reflects sign-in. Behind the basic-auth wall (public flip = Steve-gated)
2aedc862026-07-20Role-based access: admin vs client. Backend gates /api/claims + /admin + /claims to admin role (403 for clients); /api/me exposes role; frontend hides Admin link for clients. Clients keep browse + claim
cf6d4292026-07-20Corrected state labels (national dataset: CA/TX/FL/NV/NY, was all mis-stamped CA); map defaults to LA view instead of auto-fitting national outliers
141a34a2026-07-20Census batch geocoder: +744 matched (86% hit rate); map coverage now 96.1% (3,044/3,161)
0276f062026-07-20Browserbase crawler for CBRE/NAI (consent-filter, nested-address, poll-for-results); recorded 0-yield runs in crawl_runs. Spend $0.73, no usable inventory captured
a14fd4a2026-07-20Live on Kamatera: snapshot in data/, prod env note
14468ce2026-07-20Add snapshot backend (USE_SNAPSHOT) + export-snapshot: deployed site serves JSON, zero load on shared prod Postgres
28bae272026-07-20sublease.agentabrams.com: CRUnifiedDB + gated marketplace + per-firm crawler framework + Premier Workspaces agent (12 live listings) + business plan PDF