{"slug":"sublease-agentabrams","total":25,"limit":100,"offset":0,"since":null,"commits":[{"hash":"7b74ac2","date":"2026-07-21 14:38:02 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-21T14:38:01 (1 files) — tmp-shot-tx.js","body":""},{"hash":"b34c559","date":"2026-07-21 14:26:06 -0700","author":"Steve","subject":"Broker 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","body":""},{"hash":"2f22439","date":"2026-07-21 14:02:43 -0700","author":"Steve","subject":"National brokers: 47/50 states covered (recovered OH/WA/NC/TX/TN/WI/VT big markets via straggler passes)","body":""},{"hash":"58ae46f","date":"2026-07-21 13:38:51 -0700","author":"Steve","subject":"Backfill CRCP broker states from office_addr (39 states with state data)","body":""},{"hash":"0f3b28e","date":"2026-07-21 13:38:04 -0700","author":"Steve","subject":"National brokers: 573 crexi brokers across 38 states + broker state filter (dropdown + card chips + /api/brokers?state=)","body":""},{"hash":"ded7ae6","date":"2026-07-21 13:37:46 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-21T13:37:45 (7 files) — public/index.html scripts/export-snapshot.js server.js crawl/crexi-national-brokers.js crawl/crexi-recon.js","body":""},{"hash":"35f6650","date":"2026-07-21 12:18:26 -0700","author":"Steve","subject":"chore: lint, refactor, v0.2.0 (session close) — CENSUS_URL de-shadow, PDF stream-finish await, NaN-broker-id + sponsor null guards","body":""},{"hash":"8301646","date":"2026-07-20 15:53:12 -0700","author":"Steve","subject":"Individual 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)","body":""},{"hash":"2aedc86","date":"2026-07-20 15:40:39 -0700","author":"Steve","subject":"Role-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","body":""},{"hash":"cf6d429","date":"2026-07-20 15:12:38 -0700","author":"Steve","subject":"Corrected 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","body":""},{"hash":"141a34a","date":"2026-07-20 15:04:54 -0700","author":"Steve","subject":"Census batch geocoder: +744 matched (86% hit rate); map coverage now 96.1% (3,044/3,161)","body":""},{"hash":"4cb548c","date":"2026-07-20 14:47:28 -0700","author":"Steve","subject":"Refresh snapshot: 2,292 mapped (72.6%, +956 via Nominatim) + broker pages + map clustering + claim feature","body":""},{"hash":"e16ef94","date":"2026-07-20 14:42:10 -0700","author":"Steve","subject":"Claim-your-profile: brokers claim their page + submit info (POST /api/brokers/:id/claim, append-only file, DB-free/snapshot-safe); pending-review admin queue at /claims; claims file protected from rsync --delete","body":""},{"hash":"1d15a50","date":"2026-07-20 14:02:32 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-20T14:02:31 (1 files) — tmp-shot-local.js","body":""},{"hash":"0669d4c","date":"2026-07-20 13:59:21 -0700","author":"Steve","subject":"Map marker clustering (leaflet.markercluster) — handles the full ~3k geocoded points smoothly; fallback to plain markers","body":""},{"hash":"df5c9ac","date":"2026-07-20 13:58:48 -0700","author":"Steve","subject":"Individual broker profile pages (/brokers/:id + /api/brokers/:id); directory cards link to them","body":""},{"hash":"ae3f692","date":"2026-07-20 13:38:51 -0700","author":"Steve","subject":"Outreach drafts: feed-request (5 brokers) + financing-partner (4 lenders) emails from Steve Abrams","body":""},{"hash":"5e1c425","date":"2026-07-20 13:33:04 -0700","author":"Steve","subject":"CRCP base import: 2537 real brokers + 3105 for-sale listings into CRUnifiedDB; schema evolved (listing_kind/asset_class/brokers table); frontend gains sublease filter + broker directory; snapshot 3.1MB","body":""},{"hash":"88c13a4","date":"2026-07-20 13:32:25 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-20T13:32:24 (4 files) — scripts/export-snapshot.js server.js scripts/import-crcp.js scripts/migrate-crcp.sql","body":""},{"hash":"0276f06","date":"2026-07-20 13:21:24 -0700","author":"Steve","subject":"Browserbase 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","body":""},{"hash":"a14fd4a","date":"2026-07-20 12:22:27 -0700","author":"Steve","subject":"Live on Kamatera: snapshot in data/, prod env note","body":""},{"hash":"14468ce","date":"2026-07-20 12:18:54 -0700","author":"Steve","subject":"Add snapshot backend (USE_SNAPSHOT) + export-snapshot: deployed site serves JSON, zero load on shared prod Postgres","body":""},{"hash":"9504fac","date":"2026-07-20 10:44:18 -0700","author":"Steve","subject":"Per-firm broker agents (naicapital/cbre discovery + loopnet/costar ToS-gated), README with agent-calibration status, deploy config","body":""},{"hash":"28bae27","date":"2026-07-20 10:41:05 -0700","author":"Steve","subject":"sublease.agentabrams.com: CRUnifiedDB + gated marketplace + per-firm crawler framework + Premier Workspaces agent (12 live listings) + business plan PDF","body":""},{"hash":"4caa451","date":"2026-07-20 10:31:25 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-20T10:31:23 (1 files) — public/","body":""}]}