[object Object]

← back to Model Arena

auto-save: 2026-07-23T18:22:59 (1 files) — data/landings/5a4b7a0e832e-claude-code.html

7ad4f5d96aad5d9357e342fef567de9826f311cd · 2026-07-23 18:23:04 -0700 · Steve Abrams

Files touched

Diff

commit 7ad4f5d96aad5d9357e342fef567de9826f311cd
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Jul 23 18:23:04 2026 -0700

    auto-save: 2026-07-23T18:22:59 (1 files) — data/landings/5a4b7a0e832e-claude-code.html
---
 data/landings/5a4b7a0e832e-claude-code.html | 408 ++++++++++++++++++++++++++++
 1 file changed, 408 insertions(+)

diff --git a/data/landings/5a4b7a0e832e-claude-code.html b/data/landings/5a4b7a0e832e-claude-code.html
new file mode 100644
index 0000000..ce4df5f
--- /dev/null
+++ b/data/landings/5a4b7a0e832e-claude-code.html
@@ -0,0 +1,408 @@
+<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
+<title>Sublease.com — Market/Broker Leaderboard — built by Claude Opus (Max plan) · Model Arena</title>
+<style>*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b0d10;color:#e6ecf2;font:14px/1.5 ui-monospace,Menlo,monospace}
+header{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #1c2430;background:#0e1116}
+header .k{color:#7cf;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:12px;white-space:nowrap}
+header h1{font-size:15px;margin:0;font-weight:600}header .by{color:#8a93a0;font-size:12px;margin-left:auto;white-space:nowrap}
+.wrap{height:calc(100% - 51px)}iframe{width:100%;height:100%;border:0;background:#000;display:block}</style></head><body>
+<header><span class="k">⚔ Model Arena</span><h1>Sublease.com — Market/Broker Leaderboard</h1><span class="by">built by <b>Claude Opus (Max plan)</b></span></header>
+<div class="wrap"><iframe sandbox="allow-scripts allow-pointer-lock" srcdoc="&lt;!DOCTYPE html&gt;
+&lt;html lang=&quot;en&quot;&gt;
+&lt;head&gt;
+&lt;meta charset=&quot;UTF-8&quot;&gt;
+&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
+&lt;title&gt;Sublease.com — Broker / Source Leaderboard&lt;/title&gt;
+&lt;style&gt;
+  :root{
+    --bg:#0f1419; --panel:#171e26; --panel2:#1d2731; --line:#2a3744;
+    --ink:#e8edf2; --muted:#8a99a8; --accent:#3ea6ff; --accent2:#00c2a8;
+    --bar:#3ea6ff; --bar2:#2b6ea3; --good:#00c2a8; --chip:#22303c;
+    --shadow:0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35);
+    font-synthesis-weight:none;
+  }
+  *{box-sizing:border-box}
+  html,body{margin:0;padding:0}
+  body{
+    background:var(--bg); color:var(--ink);
+    font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif;
+    font-size:14px; line-height:1.45; -webkit-font-smoothing:antialiased;
+  }
+  header{
+    padding:26px 28px 18px; border-bottom:1px solid var(--line);
+    background:linear-gradient(180deg,#141b23,#0f1419);
+  }
+  .brandrow{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
+  h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.4px}
+  .brand-badge{
+    font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
+    color:#0f1419;background:var(--accent2);padding:3px 9px;border-radius:4px;
+  }
+  .sub{color:var(--muted);font-size:13px;margin-top:6px}
+  .sub b{color:var(--ink);font-weight:650}
+  .wrap{max-width:1180px;margin:0 auto;padding:22px 28px 60px}
+  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 26px}
+  .kpi{
+    background:var(--panel);border:1px solid var(--line);border-radius:10px;
+    padding:15px 16px;box-shadow:var(--shadow);
+  }
+  .kpi .n{font-size:24px;font-weight:680;letter-spacing:-.5px}
+  .kpi .l{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
+  .section-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
+  .section-h h2{font-size:15px;font-weight:640;margin:0;letter-spacing:-.2px}
+  .section-h .hint{color:var(--muted);font-size:12px}
+  .grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
+  @media(max-width:900px){.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
+
+  /* chart */
+  .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 18px 10px;box-shadow:var(--shadow)}
+  .chart-row{display:flex;align-items:center;gap:12px;margin:0 0 10px;cursor:pointer}
+  .chart-row .name{width:150px;flex:none;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
+  .chart-row .track{flex:1;background:var(--panel2);border-radius:5px;height:22px;position:relative;overflow:hidden}
+  .chart-row .fill{
+    height:100%;border-radius:5px;background:linear-gradient(90deg,var(--bar),var(--bar2));
+    transition:filter .15s,transform .15s;
+  }
+  .chart-row:hover .fill{filter:brightness(1.18)}
+  .chart-row.active .fill{background:linear-gradient(90deg,var(--accent2),#0a7d6c)}
+  .chart-row .val{width:64px;flex:none;text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--muted)}
+  .chart-toggle{display:inline-flex;background:var(--panel2);border:1px solid var(--line);border-radius:7px;overflow:hidden}
+  .chart-toggle button{background:none;border:none;color:var(--muted);padding:5px 11px;font-size:12px;cursor:pointer}
+  .chart-toggle button.on{background:var(--accent);color:#0f1419;font-weight:640}
+
+  /* table */
+  table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
+  thead th{
+    text-align:right;padding:9px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
+    color:var(--muted);border-bottom:1px solid var(--line);cursor:pointer;user-select:none;white-space:nowrap;
+  }
+  thead th:first-child{text-align:left}
+  thead th:hover{color:var(--ink)}
+  thead th .arw{opacity:.55;font-size:10px}
+  tbody td{padding:10px 12px;text-align:right;border-bottom:1px solid #212c37;font-size:13px}
+  tbody td:first-child{text-align:left}
+  tbody tr{cursor:pointer}
+  tbody tr:hover{background:#1a232d}
+  tbody tr.active{background:#12312b;box-shadow:inset 3px 0 0 var(--accent2)}
+  .rank{color:var(--muted);width:26px;display:inline-block}
+  .srcname{font-weight:600}
+  .dom{color:var(--muted);font-size:11.5px;display:block;font-weight:400}
+  .barcell{position:relative}
+  .mini{position:absolute;left:12px;right:12px;bottom:5px;height:3px;background:#243440;border-radius:2px;overflow:hidden}
+  .mini i{display:block;height:100%;background:var(--accent);border-radius:2px}
+
+  /* listings panel */
+  #listings{margin-top:30px}
+  .listbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
+  .listbar .who{font-size:15px;font-weight:640}
+  .listbar .who span{color:var(--accent2)}
+  .clearbtn{background:var(--chip);border:1px solid var(--line);color:var(--muted);padding:6px 12px;border-radius:7px;cursor:pointer;font-size:12px}
+  .clearbtn:hover{color:var(--ink)}
+  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
+  .lc{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 15px;box-shadow:var(--shadow)}
+  .lc .t{font-weight:620;font-size:14px;margin-bottom:4px;line-height:1.3}
+  .lc .loc{color:var(--muted);font-size:12px;margin-bottom:10px}
+  .lc .meta{display:flex;gap:8px;flex-wrap:wrap}
+  .tag{background:var(--chip);border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:11.5px;color:var(--ink)}
+  .tag.sf{color:var(--accent2);border-color:#1c4038}
+  .lc .src{margin-top:11px;padding-top:10px;border-top:1px solid #212c37;font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
+  .lc .src a{color:var(--accent);text-decoration:none}
+  .lc .src a:hover{text-decoration:underline}
+  .empty{color:var(--muted);padding:30px;text-align:center;border:1px dashed var(--line);border-radius:10px}
+  .foot{margin-top:40px;color:var(--muted);font-size:11.5px;border-top:1px solid var(--line);padding-top:16px;line-height:1.6}
+  .foot code{background:var(--panel2);padding:1px 5px;border-radius:3px;color:#b9c6d2}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;header&gt;
+  &lt;div class=&quot;brandrow&quot;&gt;
+    &lt;h1&gt;Sublease.com — Broker / Source Leaderboard&lt;/h1&gt;
+    &lt;span class=&quot;brand-badge&quot;&gt;CRE Intelligence&lt;/span&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sub&quot;&gt;Aggregating &lt;b id=&quot;totListings&quot;&gt;0&lt;/b&gt; listings across &lt;b id=&quot;totSources&quot;&gt;0&lt;/b&gt; sources · &lt;b id=&quot;totSF&quot;&gt;0&lt;/b&gt; SF of sublet space indexed · directory of &lt;b&gt;3,161&lt;/b&gt; live sublease listings&lt;/div&gt;
+&lt;/header&gt;
+
+&lt;div class=&quot;wrap&quot;&gt;
+  &lt;div class=&quot;kpis&quot;&gt;
+    &lt;div class=&quot;kpi&quot;&gt;&lt;div class=&quot;n&quot; id=&quot;k1&quot;&gt;0&lt;/div&gt;&lt;div class=&quot;l&quot;&gt;Sample Listings&lt;/div&gt;&lt;/div&gt;
+    &lt;div class=&quot;kpi&quot;&gt;&lt;div class=&quot;n&quot; id=&quot;k2&quot;&gt;0&lt;/div&gt;&lt;div class=&quot;l&quot;&gt;Distinct Sources&lt;/div&gt;&lt;/div&gt;
+    &lt;div class=&quot;kpi&quot;&gt;&lt;div class=&quot;n&quot; id=&quot;k3&quot;&gt;0&lt;/div&gt;&lt;div class=&quot;l&quot;&gt;Total Square Feet&lt;/div&gt;&lt;/div&gt;
+    &lt;div class=&quot;kpi&quot;&gt;&lt;div class=&quot;n&quot; id=&quot;k4&quot;&gt;0&lt;/div&gt;&lt;div class=&quot;l&quot;&gt;Top Market&lt;/div&gt;&lt;/div&gt;
+  &lt;/div&gt;
+
+  &lt;div class=&quot;grid&quot;&gt;
+    &lt;div&gt;
+      &lt;div class=&quot;section-h&quot;&gt;
+        &lt;h2&gt;Source Leaderboard&lt;/h2&gt;
+        &lt;span class=&quot;hint&quot;&gt;click a row to filter listings ↓&lt;/span&gt;
+      &lt;/div&gt;
+      &lt;div class=&quot;card&quot; style=&quot;padding:4px 6px 2px&quot;&gt;
+        &lt;table id=&quot;lbTable&quot;&gt;
+          &lt;thead&gt;
+            &lt;tr&gt;
+              &lt;th data-k=&quot;name&quot;&gt;Source &lt;span class=&quot;arw&quot;&gt;&lt;/span&gt;&lt;/th&gt;
+              &lt;th data-k=&quot;count&quot;&gt;Listings &lt;span class=&quot;arw&quot;&gt;▼&lt;/span&gt;&lt;/th&gt;
+              &lt;th data-k=&quot;sf&quot;&gt;Total SF &lt;span class=&quot;arw&quot;&gt;&lt;/span&gt;&lt;/th&gt;
+              &lt;th data-k=&quot;avg&quot;&gt;Avg SF &lt;span class=&quot;arw&quot;&gt;&lt;/span&gt;&lt;/th&gt;
+              &lt;th data-k=&quot;cities&quot;&gt;Markets &lt;span class=&quot;arw&quot;&gt;&lt;/span&gt;&lt;/th&gt;
+            &lt;/tr&gt;
+          &lt;/thead&gt;
+          &lt;tbody id=&quot;lbBody&quot;&gt;&lt;/tbody&gt;
+        &lt;/table&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+
+    &lt;div&gt;
+      &lt;div class=&quot;section-h&quot;&gt;
+        &lt;h2&gt;Top Markets by &lt;span id=&quot;chTitle&quot;&gt;Listing Count&lt;/span&gt;&lt;/h2&gt;
+        &lt;div class=&quot;chart-toggle&quot; id=&quot;chToggle&quot;&gt;
+          &lt;button data-m=&quot;count&quot; class=&quot;on&quot;&gt;Count&lt;/button&gt;
+          &lt;button data-m=&quot;sf&quot;&gt;Total SF&lt;/button&gt;
+        &lt;/div&gt;
+      &lt;/div&gt;
+      &lt;div class=&quot;card&quot; id=&quot;chart&quot;&gt;&lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+
+  &lt;div id=&quot;listings&quot;&gt;
+    &lt;div class=&quot;listbar&quot;&gt;
+      &lt;div class=&quot;who&quot; id=&quot;listWho&quot;&gt;All listings&lt;/div&gt;
+      &lt;button class=&quot;clearbtn&quot; id=&quot;clearBtn&quot; style=&quot;display:none&quot;&gt;✕ Clear filter&lt;/button&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;cards&quot; id=&quot;cards&quot;&gt;&lt;/div&gt;
+  &lt;/div&gt;
+
+  &lt;div class=&quot;foot&quot;&gt;
+    Source is derived from each listing's &lt;code&gt;source_url&lt;/code&gt; domain. The first 8 records are the verbatim
+    real sample from sublease.com (fields &lt;code&gt;null&lt;/code&gt; — no data captured); the remaining records are synthesized
+    in the identical schema across varied U.S. markets to make the leaderboard meaningful.
+    Self-contained · no external libraries · no network requests.
+  &lt;/div&gt;
+&lt;/div&gt;
+
+&lt;script&gt;
+/* ---- 1) The REAL sublease.com sample, embedded verbatim ---- */
+const REAL_SAMPLE = [{&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}, {&quot;title&quot;: null, &quot;city&quot;: null, &quot;state&quot;: null, &quot;space_type&quot;: null, &quot;size_sf&quot;: null, &quot;term&quot;: null, &quot;source_url&quot;: null}];
+
+/* ---- 2) ~20 synthesized listings in the SAME shape (varied cities/sources) ---- */
+const SYNTH = [
+  {title:&quot;Sublet — Full Floor, Class A Tower&quot;, city:&quot;New York&quot;, state:&quot;NY&quot;, space_type:&quot;Office&quot;, size_sf:24500, term:&quot;36 mo&quot;, source_url:&quot;https://www.cbre.com/properties/389201&quot;},
+  {title:&quot;Creative Loft Sublease, Flatiron&quot;, city:&quot;New York&quot;, state:&quot;NY&quot;, space_type:&quot;Creative/Office&quot;, size_sf:8200, term:&quot;24 mo&quot;, source_url:&quot;https://www.jll.com/en/listings/nyc-flatiron-8200&quot;},
+  {title:&quot;Partial Floor Available Immediately&quot;, city:&quot;New York&quot;, state:&quot;NY&quot;, space_type:&quot;Office&quot;, size_sf:6100, term:&quot;18 mo&quot;, source_url:&quot;https://www.cushmanwakefield.com/listings/nyc-6100&quot;},
+  {title:&quot;Plug-and-Play Tech Space, SoMa&quot;, city:&quot;San Francisco&quot;, state:&quot;CA&quot;, space_type:&quot;Office&quot;, size_sf:15300, term:&quot;30 mo&quot;, source_url:&quot;https://www.jll.com/en/listings/sf-soma-15300&quot;},
+  {title:&quot;Furnished Sublease, Financial District&quot;, city:&quot;San Francisco&quot;, state:&quot;CA&quot;, space_type:&quot;Office&quot;, size_sf:9800, term:&quot;24 mo&quot;, source_url:&quot;https://www.cbre.com/properties/sf-fd-9800&quot;},
+  {title:&quot;R&amp;D / Lab Sublet, Mission Bay&quot;, city:&quot;San Francisco&quot;, state:&quot;CA&quot;, space_type:&quot;Lab/R&amp;D&quot;, size_sf:22000, term:&quot;48 mo&quot;, source_url:&quot;https://www.newmark.com/listings/sf-missionbay&quot;},
+  {title:&quot;Loop Office Sublease, Move-In Ready&quot;, city:&quot;Chicago&quot;, state:&quot;IL&quot;, space_type:&quot;Office&quot;, size_sf:11750, term:&quot;36 mo&quot;, source_url:&quot;https://www.cushmanwakefield.com/listings/chi-loop&quot;},
+  {title:&quot;West Loop Creative Sublet&quot;, city:&quot;Chicago&quot;, state:&quot;IL&quot;, space_type:&quot;Creative/Office&quot;, size_sf:5400, term:&quot;12 mo&quot;, source_url:&quot;https://www.colliers.com/en-us/listings/chi-westloop&quot;},
+  {title:&quot;Downtown High-Rise Sublease&quot;, city:&quot;Austin&quot;, state:&quot;TX&quot;, space_type:&quot;Office&quot;, size_sf:13200, term:&quot;30 mo&quot;, source_url:&quot;https://www.cbre.com/properties/atx-9921&quot;},
+  {title:&quot;Domain District Office Sublet&quot;, city:&quot;Austin&quot;, state:&quot;TX&quot;, space_type:&quot;Office&quot;, size_sf:7600, term:&quot;24 mo&quot;, source_url:&quot;https://www.avisonyoung.com/listings/atx-domain&quot;},
+  {title:&quot;Warehouse / Flex Sublease&quot;, city:&quot;Dallas&quot;, state:&quot;TX&quot;, space_type:&quot;Industrial&quot;, size_sf:41000, term:&quot;60 mo&quot;, source_url:&quot;https://www.jll.com/en/listings/dfw-flex-41000&quot;},
+  {title:&quot;Uptown Sublease, Furnished&quot;, city:&quot;Dallas&quot;, state:&quot;TX&quot;, space_type:&quot;Office&quot;, size_sf:9200, term:&quot;18 mo&quot;, source_url:&quot;https://www.transwestern.com/listings/dfw-uptown&quot;},
+  {title:&quot;Class A Office Sublet, Buckhead&quot;, city:&quot;Atlanta&quot;, state:&quot;GA&quot;, space_type:&quot;Office&quot;, size_sf:16800, term:&quot;36 mo&quot;, source_url:&quot;https://www.colliers.com/en-us/listings/atl-buckhead&quot;},
+  {title:&quot;Midtown Sublease Opportunity&quot;, city:&quot;Atlanta&quot;, state:&quot;GA&quot;, space_type:&quot;Office&quot;, size_sf:5900, term:&quot;24 mo&quot;, source_url:&quot;https://www.newmark.com/listings/atl-midtown&quot;},
+  {title:&quot;Seaport Office Sublet&quot;, city:&quot;Boston&quot;, state:&quot;MA&quot;, space_type:&quot;Office&quot;, size_sf:12400, term:&quot;30 mo&quot;, source_url:&quot;https://www.cbre.com/properties/bos-seaport&quot;},
+  {title:&quot;Cambridge Lab Sublease&quot;, city:&quot;Boston&quot;, state:&quot;MA&quot;, space_type:&quot;Lab/R&amp;D&quot;, size_sf:18600, term:&quot;48 mo&quot;, source_url:&quot;https://www.cushmanwakefield.com/listings/bos-cambridge&quot;},
+  {title:&quot;Century City Sublet, Partial Floor&quot;, city:&quot;Los Angeles&quot;, state:&quot;CA&quot;, space_type:&quot;Office&quot;, size_sf:10200, term:&quot;24 mo&quot;, source_url:&quot;https://www.jll.com/en/listings/la-centurycity&quot;},
+  {title:&quot;Culver City Creative Space&quot;, city:&quot;Los Angeles&quot;, state:&quot;CA&quot;, space_type:&quot;Creative/Office&quot;, size_sf:7300, term:&quot;18 mo&quot;, source_url:&quot;https://www.savills.us/listings/la-culvercity&quot;},
+  {title:&quot;Denver Tech Center Sublease&quot;, city:&quot;Denver&quot;, state:&quot;CO&quot;, space_type:&quot;Office&quot;, size_sf:8800, term:&quot;24 mo&quot;, source_url:&quot;https://www.avisonyoung.com/listings/den-dtc&quot;},
+  {title:&quot;South Lake Union Sublet&quot;, city:&quot;Seattle&quot;, state:&quot;WA&quot;, space_type:&quot;Office&quot;, size_sf:14100, term:&quot;36 mo&quot;, source_url:&quot;https://www.colliers.com/en-us/listings/sea-slu&quot;},
+  {title:&quot;Retail Sublease, Ballard&quot;, city:&quot;Seattle&quot;, state:&quot;WA&quot;, space_type:&quot;Retail&quot;, size_sf:3200, term:&quot;12 mo&quot;, source_url:&quot;https://www.savills.us/listings/sea-ballard&quot;},
+  {title:&quot;Brickell Office Sublet&quot;, city:&quot;Miami&quot;, state:&quot;FL&quot;, space_type:&quot;Office&quot;, size_sf:9600, term:&quot;30 mo&quot;, source_url:&quot;https://www.transwestern.com/listings/mia-brickell&quot;}
+];
+
+const DATA = REAL_SAMPLE.concat(SYNTH);
+
+/* ---- helpers ---- */
+const fmt = n =&gt; n.toLocaleString('en-US');
+function domainOf(url){
+  if(!url) return null;
+  try{ let h=new URL(url).hostname.replace(/^www\./,''); return h; }catch(e){ return null; }
+}
+const SOURCE_NAMES = {
+  'cbre.com':'CBRE','jll.com':'JLL','cushmanwakefield.com':'Cushman &amp; Wakefield',
+  'newmark.com':'Newmark','colliers.com':'Colliers','avisonyoung.com':'Avison Young',
+  'transwestern.com':'Transwestern','savills.us':'Savills'
+};
+function sourceName(dom){ return SOURCE_NAMES[dom] || (dom ? dom : 'Unattributed'); }
+
+/* ---- aggregate by source ---- */
+function aggregate(){
+  const m = new Map();
+  DATA.forEach(l=&gt;{
+    const dom = domainOf(l.source_url);
+    const key = dom || '__none__';
+    if(!m.has(key)) m.set(key,{dom:dom, name:sourceName(dom), count:0, sf:0, cities:new Set()});
+    const s = m.get(key);
+    s.count++;
+    s.sf += (l.size_sf||0);
+    if(l.city) s.cities.add(l.city+', '+l.state);
+  });
+  return [...m.values()].map(s=&gt;({
+    dom:s.dom, name:s.name, count:s.count, sf:s.sf,
+    avg: s.count ? Math.round(s.sf/s.count) : 0,
+    cities: s.cities.size
+  }));
+}
+let SOURCES = aggregate();
+
+/* ---- markets (by city) for chart ---- */
+function markets(){
+  const m = new Map();
+  DATA.forEach(l=&gt;{
+    if(!l.city) return;
+    const k = l.city+', '+l.state;
+    if(!m.has(k)) m.set(k,{name:k,count:0,sf:0});
+    const x=m.get(k); x.count++; x.sf+=(l.size_sf||0);
+  });
+  return [...m.values()];
+}
+const MARKETS = markets();
+
+/* ---- KPIs ---- */
+const totSF = DATA.reduce((a,l)=&gt;a+(l.size_sf||0),0);
+const topMkt = [...MARKETS].sort((a,b)=&gt;b.count-a.count)[0];
+document.getElementById('totListings').textContent = fmt(DATA.length);
+document.getElementById('totSources').textContent = SOURCES.length;
+document.getElementById('totSF').textContent = fmt(totSF);
+document.getElementById('k1').textContent = fmt(DATA.length);
+document.getElementById('k2').textContent = SOURCES.length;
+document.getElementById('k3').textContent = fmt(totSF);
+document.getElementById('k4').textContent = topMkt ? topMkt.name.split(',')[0] : '—';
+
+/* ---- state ---- */
+let sortKey='count', sortDir=-1, activeSource=null;
+
+/* ---- render leaderboard table ---- */
+function renderTable(){
+  const rows=[...SOURCES].sort((a,b)=&gt;{
+    let av=a[sortKey], bv=b[sortKey];
+    if(typeof av==='string'){ return sortDir*av.localeCompare(bv); }
+    return sortDir*(av-bv);
+  });
+  const maxCount=Math.max(...rows.map(r=&gt;r.count));
+  const body=document.getElementById('lbBody');
+  body.innerHTML='';
+  rows.forEach((r,i)=&gt;{
+    const tr=document.createElement('tr');
+    const key=r.dom||'__none__';
+    if(activeSource===key) tr.className='active';
+    tr.innerHTML=`
+      &lt;td class=&quot;barcell&quot;&gt;
+        &lt;span class=&quot;rank&quot;&gt;${i+1}&lt;/span&gt;
+        &lt;span class=&quot;srcname&quot;&gt;${r.name}&lt;/span&gt;
+        &lt;span class=&quot;dom&quot;&gt;${r.dom||'no source url'}&lt;/span&gt;
+        &lt;span class=&quot;mini&quot;&gt;&lt;i style=&quot;width:${(r.count/maxCount*100).toFixed(1)}%&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+      &lt;/td&gt;
+      &lt;td&gt;${fmt(r.count)}&lt;/td&gt;
+      &lt;td&gt;${fmt(r.sf)}&lt;/td&gt;
+      &lt;td&gt;${fmt(r.avg)}&lt;/td&gt;
+      &lt;td&gt;${r.cities}&lt;/td&gt;`;
+    tr.onclick=()=&gt;toggleSource(key,r.name);
+    body.appendChild(tr);
+  });
+  document.querySelectorAll('#lbTable thead th').forEach(th=&gt;{
+    const k=th.dataset.k, a=th.querySelector('.arw');
+    a.textContent = (k===sortKey) ? (sortDir&lt;0?'▼':'▲') : '';
+  });
+}
+document.querySelectorAll('#lbTable thead th').forEach(th=&gt;{
+  th.onclick=()=&gt;{
+    const k=th.dataset.k;
+    if(k===sortKey) sortDir*=-1;
+    else { sortKey=k; sortDir=(k==='name')?1:-1; }
+    renderTable();
+  };
+});
+
+/* ---- chart ---- */
+let chartMode='count';
+function renderChart(){
+  const rows=[...MARKETS].sort((a,b)=&gt;b[chartMode]-a[chartMode]).slice(0,8);
+  const max=Math.max(...rows.map(r=&gt;r[chartMode]),1);
+  const c=document.getElementById('chart');
+  c.innerHTML='';
+  rows.forEach(r=&gt;{
+    const div=document.createElement('div');
+    div.className='chart-row';
+    const val = chartMode==='sf' ? fmt(r.sf) : r.count;
+    div.innerHTML=`
+      &lt;span class=&quot;name&quot; title=&quot;${r.name}&quot;&gt;${r.name}&lt;/span&gt;
+      &lt;span class=&quot;track&quot;&gt;&lt;span class=&quot;fill&quot; style=&quot;width:${(r[chartMode]/max*100).toFixed(1)}%&quot;&gt;&lt;/span&gt;&lt;/span&gt;
+      &lt;span class=&quot;val&quot;&gt;${val}&lt;/span&gt;`;
+    div.onclick=()=&gt;filterByCity(r.name);
+    c.appendChild(div);
+  });
+  document.getElementById('chTitle').textContent = chartMode==='sf'?'Total SF':'Listing Count';
+}
+document.querySelectorAll('#chToggle button').forEach(b=&gt;{
+  b.onclick=()=&gt;{
+    document.querySelectorAll('#chToggle button').forEach(x=&gt;x.classList.remove('on'));
+    b.classList.add('on'); chartMode=b.dataset.m; renderChart();
+  };
+});
+
+/* ---- listings ---- */
+let cityFilter=null;
+function toggleSource(key,name){
+  activeSource = (activeSource===key)?null:key;
+  cityFilter=null;
+  renderTable(); renderListings();
+}
+function filterByCity(city){
+  cityFilter = (cityFilter===city)?null:city;
+  activeSource=null;
+  renderTable(); renderListings();
+}
+function renderListings(){
+  let list=DATA, whoTxt='All listings', showClear=false;
+  if(activeSource){
+    list=DATA.filter(l=&gt;(domainOf(l.source_url)||'__none__')===activeSource);
+    whoTxt=`Listings from &lt;span&gt;${sourceName(activeSource==='__none__'?null:activeSource)}&lt;/span&gt;`;
+    showClear=true;
+  } else if(cityFilter){
+    list=DATA.filter(l=&gt;l.city &amp;&amp; (l.city+', '+l.state)===cityFilter);
+    whoTxt=`Listings in &lt;span&gt;${cityFilter}&lt;/span&gt;`;
+    showClear=true;
+  }
+  document.getElementById('listWho').innerHTML = whoTxt + ` &amp;nbsp;·&amp;nbsp; &lt;span style=&quot;color:var(--muted);font-weight:400&quot;&gt;${list.length}&lt;/span&gt;`;
+  document.getElementById('clearBtn').style.display = showClear?'inline-block':'none';
+
+  const cards=document.getElementById('cards');
+  cards.innerHTML='';
+  if(!list.length){
+    cards.innerHTML='&lt;div class=&quot;empty&quot; style=&quot;grid-column:1/-1&quot;&gt;No listings for this filter.&lt;/div&gt;';
+    return;
+  }
+  list.forEach(l=&gt;{
+    const title = l.title || '&lt;span style=&quot;color:var(--muted)&quot;&gt;Untitled listing — no data&lt;/span&gt;';
+    const loc = (l.city? (l.city+', '+l.state) : '&lt;span style=&quot;color:var(--muted)&quot;&gt;Location unavailable&lt;/span&gt;');
+    const dom = domainOf(l.source_url);
+    const div=document.createElement('div');
+    div.className='lc';
+    let tags='';
+    if(l.space_type) tags+=`&lt;span class=&quot;tag&quot;&gt;${l.space_type}&lt;/span&gt;`;
+    if(l.size_sf) tags+=`&lt;span class=&quot;tag sf&quot;&gt;${fmt(l.size_sf)} SF&lt;/span&gt;`;
+    if(l.term) tags+=`&lt;span class=&quot;tag&quot;&gt;${l.term}&lt;/span&gt;`;
+    if(!tags) tags='&lt;span class=&quot;tag&quot; style=&quot;color:var(--muted)&quot;&gt;no specs&lt;/span&gt;';
+    div.innerHTML=`
+      &lt;div class=&quot;t&quot;&gt;${title}&lt;/div&gt;
+      &lt;div class=&quot;loc&quot;&gt;${loc}&lt;/div&gt;
+      &lt;div class=&quot;meta&quot;&gt;${tags}&lt;/div&gt;
+      &lt;div class=&quot;src&quot;&gt;
+        &lt;span&gt;${sourceName(dom)}&lt;/span&gt;
+        ${l.source_url?`&lt;a href=&quot;${l.source_url}&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;view ↗&lt;/a&gt;`:'&lt;span style=&quot;color:var(--muted)&quot;&gt;—&lt;/span&gt;'}
+      &lt;/div&gt;`;
+    cards.appendChild(div);
+  });
+}
+document.getElementById('clearBtn').onclick=()=&gt;{
+  activeSource=null; cityFilter=null; renderTable(); renderListings();
+};
+
+/* ---- init ---- */
+renderTable();
+renderChart();
+renderListings();
+&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;" title="Sublease.com — Market/Broker Leaderboard"></iframe></div>
+</body></html>
\ No newline at end of file

← 6849101 auto-save: 2026-07-23T15:52:21 (4 files) — data/landings/480  ·  back to Model Arena  ·  auto-save: 2026-07-24T13:58:01 (2 files) — data/challenges.j 5754afa →