← back to Rentv 2026
Ship RENTV Intelligence Desk live at /desk — left-rail switcher (no tabs), Directory/Map/Analytics/Command over real CA broker data with LinkedIn/DRE/Maps click-outs
4645759d9f3beaf115a0ec074dc3bae4185d5810 · 2026-07-22 17:34:28 -0700 · Steve
Files touched
A public/desk-assets/admin-core.jsA public/desk-assets/data/brokers.jsonA public/desk-assets/data/firms.jsonA public/desk-assets/data/la-commercial.jsonA public/desk.html
Diff
commit 4645759d9f3beaf115a0ec074dc3bae4185d5810
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Jul 22 17:34:28 2026 -0700
Ship RENTV Intelligence Desk live at /desk — left-rail switcher (no tabs), Directory/Map/Analytics/Command over real CA broker data with LinkedIn/DRE/Maps click-outs
---
public/desk-assets/admin-core.js | 41 +++++++
public/desk-assets/data/brokers.json | 1 +
public/desk-assets/data/firms.json | 1 +
public/desk-assets/data/la-commercial.json | 1 +
public/desk.html | 167 +++++++++++++++++++++++++++++
5 files changed, 211 insertions(+)
diff --git a/public/desk-assets/admin-core.js b/public/desk-assets/admin-core.js
new file mode 100644
index 00000000..2f3b67c6
--- /dev/null
+++ b/public/desk-assets/admin-core.js
@@ -0,0 +1,41 @@
+/* RENTV admin core — shared across the 10 back-office layouts (A01..A10).
+ Owns: the real click-out action URLs (LinkedIn/website/Maps/firm/CA-DRE),
+ the broker/firm/owner data loader, and the inline action-button block.
+ Each A##.html supplies only its unique layout + render(). */
+window.ADM = (function () {
+ const enc = encodeURIComponent, esc = s => String(s == null ? '' : s).replace(/[&<>"]/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[c]));
+ // ── real, functional click-outs ──
+ const LI_P = (n, f) => `https://www.linkedin.com/search/results/people/?keywords=${enc([n, f].filter(Boolean).join(' '))}`;
+ const LI_C = f => `https://www.linkedin.com/search/results/companies/?keywords=${enc(f)}`;
+ const WEB = f => `https://www.google.com/search?q=${enc('"' + f + '" real estate official website')}`;
+ const MAPS = q => `https://www.google.com/maps/search/?api=1&query=${enc(q)}`;
+ const DRE = lic => `https://www2.dre.ca.gov/PublicASP/pplinfo.asp?License_id=${enc(lic)}`;
+ const GOOG = q => `https://www.google.com/search?q=${enc(q)}`;
+ const ASSR = ain => `https://portal.assessor.lacounty.gov/parceldetail/${enc(ain)}`;
+ const loc = x => [x.city || x.hq_city, x.state_code || x.hq_state].filter(Boolean).join(', ');
+
+ const A = (href, icon, label) => `<a class="act" href="${href}" target="_blank" rel="noopener" onclick="event.stopPropagation()"><span class="i">${icon}</span>${label}</a>`;
+ // the inline action set for any record kind — the "like CRCP" click-outs
+ function actions(kind, x) {
+ if (kind === 'firms') return [A(LI_C(x.name), '🏢', 'LinkedIn'), A(WEB(x.name), '🌐', 'Website'), A(MAPS(x.name + ' ' + loc(x)), '📍', 'HQ / Map'), x.license_no ? A(DRE(x.license_no), '🪪', 'DRE') : '', A(GOOG(x.name + ' brokers ' + loc(x)), '🔎', 'Google')].filter(Boolean).join('');
+ if (kind === 'owners') { const addr = [x.address, x.city].filter(Boolean).join(', '); return [A(MAPS(addr), '📍', 'Map'), A(GOOG(addr + ' ' + (x.use_desc || '') + ' owner'), '🔎', 'Owner / deal'), A('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + enc(addr), '📸', 'Street View'), A(ASSR(x.ain), '🏛️', 'Assessor')].join(''); }
+ return [A(LI_P(x.name, x.firm_name), '👤', 'LinkedIn'), A(GOOG(x.name + ' ' + (x.firm_name || '') + ' ' + loc(x)), '🔎', 'Google'), x.firm_name ? A(WEB(x.firm_name), '🌐', 'Firm site') : '', x.firm_name ? A(LI_C(x.firm_name), '🏢', 'Firm') : '', loc(x) ? A(MAPS((x.firm_name || x.name) + ' ' + loc(x)), '📍', 'Map') : '', x.license_no ? A(DRE(x.license_no), '🪪', 'DRE') : ''].filter(Boolean).join('');
+ }
+ const nm = x => x.name || x.address || x.ain;
+ const sub = (kind, x) => kind === 'brokers' ? (x.firm_name || '—') : kind === 'firms' ? ((x.agent_count || 0).toLocaleString() + ' agents') : (x.type_label || '');
+
+ async function load() {
+ const get = (f, fb) => fetch('data/' + f).then(r => r.json()).catch(() => fb);
+ const [b, f, la] = await Promise.all([get('brokers.json', { rows: [] }), get('firms.json', { rows: [] }), get('la-commercial.json', { marquee: [] })]);
+ return {
+ brokers: b.rows || [], firms: f.rows || [], owners: la.marquee || [],
+ totalB: b.total || (b.rows || []).length, totalF: f.total || (f.rows || []).length,
+ };
+ }
+ // preload data FIRST, then mount chrome with a synchronous render → numbering sees the full DOM
+ async function mount(layout, render) {
+ const d = await load();
+ RENTV.mount({ dark: true, layout, render: () => render(d) });
+ }
+ return { esc, LI_P, LI_C, WEB, MAPS, DRE, GOOG, ASSR, loc, A, actions, nm, sub, load, mount };
+})();
diff --git a/public/desk-assets/data/brokers.json b/public/desk-assets/data/brokers.json
new file mode 100644
index 00000000..9da35916
--- /dev/null
+++ b/public/desk-assets/data/brokers.json
@@ -0,0 +1 @@
+{"total":382944,"limit":120,"offset":0,"rows":[{"id":2738431,"name":"Aadil Iqbal","license_no":"02158856","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SACRAMENTO","state_code":"CA","source":"ca_dre","firm_name":"Aziz Realty","firm_id":328360},{"id":2677692,"name":"Aadit Sitaula","license_no":"02023960","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"MURRIETA","state_code":"CA","source":"ca_dre","firm_name":"KAM Financial & Realty, Inc.","firm_id":315139},{"id":2754249,"name":"Aahoo Robab Pourang","license_no":"02195125","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"IRVINE","state_code":"CA","source":"ca_dre","firm_name":"E & M Pegasus Investment Group Inc","firm_id":326479},{"id":2772810,"name":"Aaina Babbar","license_no":"02220027","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RANCHO CUCAMONGA","state_code":"CA","source":"ca_dre","firm_name":"Dynasty R.E. Inc.","firm_id":315771},{"id":2668132,"name":"Aain Abbas Ashary","license_no":"02000444","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"CORONA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2732454,"name":"Aaishmann Kaur Waraich","license_no":"02145281","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"FONTANA","state_code":"CA","source":"ca_dre","firm_name":"Doaba Estate","firm_id":340716},{"id":2772265,"name":"Aakash Bhasin","license_no":"02219187","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SIMI VALLEY","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2805960,"name":"Aakash Girish Shah","license_no":"02339945","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN LUIS OBISPO","state_code":"CA","source":"ca_dre","firm_name":"SB Wealth Inc","firm_id":316054},{"id":2794994,"name":"Aakash Goel","license_no":"02250232","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SANTA CLARA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2702625,"name":"Aakash Rajesh Kadakia","license_no":"02081668","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"ROCKLIN","state_code":"CA","source":"ca_dre","firm_name":"BWR Real Estate Services","firm_id":314964},{"id":2776185,"name":"Aakashveer Singh Deol","license_no":"02224620","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"HAYWARD","state_code":"CA","source":"ca_dre","firm_name":"Alliance Bay Funding Inc","firm_id":315862},{"id":2645993,"name":"Aako Kori","license_no":"01947032","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"CORONA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2534398,"name":"A Alejandro Clark","license_no":"01348829","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"HANFORD","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2786680,"name":"Aaliyah Ann Bustamante","license_no":"02239149","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN JOSE","state_code":"CA","source":"ca_dre","firm_name":"Daybreak Real Estate Brokerage","firm_id":345457},{"id":2751969,"name":"Aaliyah Faith Hilario","license_no":"02192141","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"COACHELLA","state_code":"CA","source":"ca_dre","firm_name":"Ruttenberg","firm_id":324343},{"id":2752476,"name":"Aaliyah Faiza Farish","license_no":"02192789","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"FRESNO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2809718,"name":"Aaliyah Juliett Bryant","license_no":"02399198","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"INGLEWOOD","state_code":"CA","source":"ca_dre","firm_name":"LA Real Estate Group, Inc.","firm_id":315868},{"id":2779068,"name":"Aaliyah Marie Norwood-Dymally","license_no":"02228442","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"Dynacore Inc","firm_id":315887},{"id":2782000,"name":"Aaliyah Renae Richardson","license_no":"02232629","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"VICTORVILLE","state_code":"CA","source":"ca_dre","firm_name":"Lamoreaux","firm_id":315324},{"id":2800980,"name":"Aaliyah Titiana Marie Cage","license_no":"02282367","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SAN BERNARDINO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2684085,"name":"Aaliyah Yusuf","license_no":"02040188","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN FRANCISCO","state_code":"CA","source":"ca_dre","firm_name":"Structure Properties, Inc.","firm_id":325830},{"id":2699330,"name":"Aaliya J Mclean","license_no":"02075297","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RESEDA","state_code":"CA","source":"ca_dre","firm_name":"Side, Inc.","firm_id":314541},{"id":2723473,"name":"Aaliyyah Shahidah Muhammad","license_no":"02124779","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"WALNUT CREEK","state_code":"CA","source":"ca_dre","firm_name":"KB HOME Sales-Northern California","firm_id":318954},{"id":2614186,"name":"Aalok Sikand","license_no":"01855934","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2485760,"name":"A Alvarado","license_no":"01106994","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"SACRAMENTO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2750863,"name":"Aamar Khalid Blair","license_no":"02190458","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"GARDENA","state_code":"CA","source":"ca_dre","firm_name":"eXp Realty of California, Inc.","firm_id":314633},{"id":2775747,"name":"Aamber Aleyna Hickman","license_no":"02224118","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LONG BEACH","state_code":"CA","source":"ca_dre","firm_name":"Morrison","firm_id":324040},{"id":2629141,"name":"Aamie Dawn McDonald-Johnson","license_no":"01902150","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SALIDA","state_code":"CA","source":"ca_dre","firm_name":"The Finance Group, Inc.","firm_id":315520},{"id":2760839,"name":"Aamir Javed","license_no":"02204037","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"ROSEVILLE","state_code":"CA","source":"ca_dre","firm_name":"Sadek Real Estate","firm_id":316753},{"id":2539692,"name":"Aamir Khan","license_no":"01367205","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"STOCKTON","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2672974,"name":"Aamir Khan","license_no":"02012022","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"DUBLIN","state_code":"CA","source":"ca_dre","firm_name":"Bloom Real Estate & Lending","firm_id":330913},{"id":2752986,"name":"Aamit Singh Chowdhury","license_no":"02193415","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SACRAMENTO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2795443,"name":"Aamren Ozaeta","license_no":"02250796","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"FRESNO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2618616,"name":"Aanand V Patel","license_no":"01871669","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"All Nations Realty Ontario","firm_id":320783},{"id":2746923,"name":"Aanchal Gulati","license_no":"02180960","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RANCHO CUCAMONGA","state_code":"CA","source":"ca_dre","firm_name":"Compass California II, Inc.","firm_id":314579},{"id":2718501,"name":"Aanchal Satija","license_no":"02113852","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"IRVINE","state_code":"CA","source":"ca_dre","firm_name":"Evergreen Realty Partners, Inc.","firm_id":314570},{"id":2614794,"name":"Aaradona M Walker","license_no":"01858152","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SANTA ROSA","state_code":"CA","source":"ca_dre","firm_name":"Pacific Direct Mortgage & Real Estate,","firm_id":333370},{"id":2716675,"name":"Aarambh Shah","license_no":"02109930","license_state":"CA","license_type":"Broker","license_status":"Licensed NBA","city":"PARKLAND","state_code":"FL","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2627560,"name":"Aaram Safai","license_no":"01897821","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"CANYON LAKE","state_code":"CA","source":"ca_dre","firm_name":"Kielty Realty, Inc.","firm_id":315865},{"id":2538915,"name":"Aara Viola Pedersen","license_no":"01364524","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"SANTA ROSA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2715557,"name":"Aaren Juline Kisner","license_no":"02107595","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"NEWPORT BEACH","state_code":"CA","source":"ca_dre","firm_name":"Bentrott","firm_id":342421},{"id":2669555,"name":"Aareon Jefferson","license_no":"02003844","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"VALENCIA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2643903,"name":"Aarian Wenji Liu","license_no":"01941386","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"BALDWIN PARK","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2794574,"name":"Aarica Maria Sanders","license_no":"02249689","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RANCHO CUCAMONGA","state_code":"CA","source":"ca_dre","firm_name":"Reliance Real Estate Services of","firm_id":314955},{"id":2787344,"name":"Aarika Grace Flemings","license_no":"02239992","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"IRVINE","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2756084,"name":"Aarin Blanche Booker","license_no":"02197770","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAINT LOUIS","state_code":"MO","source":"ca_dre","firm_name":"Makn Moves Inc.","firm_id":317646},{"id":2663771,"name":"Aarin Elizabeth Jacobs Chung","license_no":"01989749","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"COVINA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2646370,"name":"Aaron Aalcides","license_no":"01948003","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"TORRANCE","state_code":"CA","source":"ca_dre","firm_name":"Epique Inc","firm_id":319947},{"id":2543618,"name":"Aaron A Boss","license_no":"01381686","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RANCHO PALOS VERDES","state_code":"CA","source":"ca_dre","firm_name":"Stephen W Cunningham And","firm_id":326143},{"id":2775941,"name":"Aaron Abraham Yazdi","license_no":"02224357","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"Ontrack Asset Management Inc","firm_id":332093},{"id":2662368,"name":"Aaron Adam Manji","license_no":"01986233","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"Balboa Real Estate, Inc","firm_id":314746},{"id":2777528,"name":"Aaron Adrian Duenez","license_no":"02226370","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LAGUNA NIGUEL","state_code":"CA","source":"ca_dre","firm_name":"Matthews & Associates","firm_id":321126},{"id":2551458,"name":"Aaron A Gray","license_no":"01411295","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"RIVERSIDE","state_code":"CA","source":"ca_dre","firm_name":"Khorr Realty, Inc.","firm_id":326992},{"id":2696079,"name":"Aaron Aguilera","license_no":"02068828","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"CHULA VISTA","state_code":"CA","source":"ca_dre","firm_name":"Newton","firm_id":337601},{"id":2503174,"name":"Aaron Alan Unger","license_no":"01212784","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"SALIDA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2661954,"name":"Aaron Alan Whitfield","license_no":"01985258","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"SOLANA BEACH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2591091,"name":"Aaron Albania Heredia","license_no":"01758457","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"LONG BEACH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2719428,"name":"Aaron Alberto Luna Ruiz","license_no":"02115822","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"WEST COVINA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2808473,"name":"Aaron Alexander Barclay","license_no":"02377786","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"VISTA","state_code":"CA","source":"ca_dre","firm_name":"Member Development, Inc.","firm_id":315598},{"id":2803008,"name":"Aaron Alexander Campbell","license_no":"02295735","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"NORTH HILLS","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2739364,"name":"Aaron Alexander Finley","license_no":"02160921","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"THOUSAND OAKS","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2763135,"name":"Aaron Alexander Fonville","license_no":"02206929","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"FORT MACARTHUR","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2773857,"name":"Aaron Alexander Levitan","license_no":"02221550","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"AGOURA HILLS","state_code":"CA","source":"ca_dre","firm_name":"Levitan","firm_id":335514},{"id":2812677,"name":"Aaron Alexander Lix","license_no":"02439512","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LA JOLLA","state_code":"CA","source":"ca_dre","firm_name":"La Jolla Partners Inc.","firm_id":316801},{"id":2803995,"name":"Aaron Alexander Pates","license_no":"02310204","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SAN DIEGO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2699464,"name":"Aaron Alexis Pardo","license_no":"02075596","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SANTA ROSA","state_code":"CA","source":"ca_dre","firm_name":"Compass California II, Inc.","firm_id":314579},{"id":2792455,"name":"Aaron Alfred Lahood","license_no":"02246934","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN FRANCISCO","state_code":"CA","source":"ca_dre","firm_name":"Eastdil Secured Advisory Services Inc.","firm_id":319108},{"id":2668695,"name":"Aaron Allen Goodman","license_no":"02001733","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"Lyon Stahl Investment Real Estate, Inc.","firm_id":324917},{"id":2703763,"name":"Aaron Allen Klassen","license_no":"02083771","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"BAKERSFIELD","state_code":"CA","source":"ca_dre","firm_name":"Central Valley Property Advisors","firm_id":331875},{"id":2705056,"name":"Aaron Allen Pyne","license_no":"02086325","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"YUCAIPA","state_code":"CA","source":"ca_dre","firm_name":"Real Estate Innovations, Inc.","firm_id":315329},{"id":2621115,"name":"Aaron Allen Young","license_no":"01879935","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"PLEASANT HILL","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2628889,"name":"Aaron Alonso Panuco","license_no":"01901503","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2519300,"name":"Aaron Anderson","license_no":"01290018","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"MARINA DEL REY","state_code":"CA","source":"ca_dre","firm_name":"Seeds Realty Group, Inc.","firm_id":324252},{"id":2682543,"name":"Aaron Andrew Truitt","license_no":"02036254","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"LIVERMORE","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2636168,"name":"Aaron Anthony Argent","license_no":"01920748","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"MURRIETA","state_code":"CA","source":"ca_dre","firm_name":"Allison James of California Inc","firm_id":315292},{"id":2708874,"name":"Aaron Anthony Blackburn","license_no":"02093989","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LONG BEACH","state_code":"CA","source":"ca_dre","firm_name":"Platinum Properties Real Estate","firm_id":333238},{"id":2654640,"name":"Aaron Anthony Christian Titolo","license_no":"01968137","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"IRVINE","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2744170,"name":"Aaron Anthony Martinez","license_no":"02173930","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"STOCKTON","state_code":"CA","source":"ca_dre","firm_name":"The Finance Group, Inc.","firm_id":315520},{"id":2509490,"name":"Aaron Anthony Meadows","license_no":"01242289","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"OAKLEY","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2685527,"name":"Aaron Anthony Pullano","license_no":"02043729","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"GRASS VALLEY","state_code":"CA","source":"ca_dre","firm_name":"CDL Mortgage Services, Inc.","firm_id":328016},{"id":2812466,"name":"Aaron Ari David Palmer","license_no":"02439167","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"LONG BEACH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2723629,"name":"Aaron Ariza Arak","license_no":"02125140","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"NEWBURY PARK","state_code":"CA","source":"ca_dre","firm_name":"Pinnacle Estate Properties Inc","firm_id":314606},{"id":2792748,"name":"Aaron Armando Atencio","license_no":"02247344","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"CHULA VISTA","state_code":"CA","source":"ca_dre","firm_name":"LPT Realty, Inc","firm_id":315786},{"id":2648465,"name":"Aaron Arreola Moreno","license_no":"01953659","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"DOWNEY","state_code":"CA","source":"ca_dre","firm_name":"Real Brokerage Technologies","firm_id":315234},{"id":2613258,"name":"Aaron Arthur Avedian","license_no":"01852587","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"NEWPORT BEACH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2547104,"name":"Aaron Arthur Flint","license_no":"01395357","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"TEMECULA","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2808618,"name":"Aaron Arthur Siegler","license_no":"02380545","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"PLACENTIA","state_code":"CA","source":"ca_dre","firm_name":"TNG Real Estate Consultants Inc.","firm_id":315184},{"id":2785420,"name":"Aaron Asher Nazarian","license_no":"02237515","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"BEVERLY HILLS","state_code":"CA","source":"ca_dre","firm_name":"Rashti","firm_id":346802},{"id":2639533,"name":"Aaron Ashmeed Ali","license_no":"01929371","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"TORRANCE","state_code":"CA","source":"ca_dre","firm_name":"Stratton - LFCA, Inc.","firm_id":314522},{"id":2713902,"name":"Aaron Ash Rosen","license_no":"02104183","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SANTA ROSA","state_code":"CA","source":"ca_dre","firm_name":"Amo Realty, Inc","firm_id":328323},{"id":2668069,"name":"Aaron Ataide Soriano","license_no":"02000277","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"VISALIA","state_code":"CA","source":"ca_dre","firm_name":"eXp Realty of California, Inc.","firm_id":314633},{"id":2815434,"name":"Aaron Aurelio Alvarado","license_no":"02444129","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"FAIRFIELD","state_code":"CA","source":"ca_dre","firm_name":"eXp Realty of Northern California, Inc.","firm_id":315889},{"id":2775535,"name":"Aaron Avraham Daniel","license_no":"02223825","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"ENCINO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2720111,"name":"Aaron Aziz Mansoori-Moayed","license_no":"02117361","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"ROSEVILLE","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2676334,"name":"Aaron Bardya Khosh","license_no":"02020525","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"NEWPORT BEACH","state_code":"CA","source":"ca_dre","firm_name":"Pickford Real Estate Inc","firm_id":314737},{"id":2684687,"name":"Aaron B Collins","license_no":"02041676","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"VALPARAISO","state_code":"IN","source":"ca_dre","firm_name":"San Francisco Real Estate California","firm_id":314548},{"id":2788481,"name":"Aaron Benjamin Acosta","license_no":"02241658","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN DIEGO","state_code":"CA","source":"ca_dre","firm_name":"Ascencio","firm_id":319985},{"id":2581740,"name":"Aaron Benjamin Lerner","license_no":"01717678","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2811796,"name":"Aaron Benjamin Miller","license_no":"02434853","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LIVONIA","state_code":"MI","source":"ca_dre","firm_name":"West Capital Lending, Inc.","firm_id":317102},{"id":2634937,"name":"Aaron Benjamin Sagin","license_no":"01917449","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SAN FRANCISCO","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2777918,"name":"Aaron Benjamin Soto","license_no":"02226924","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"STOCKTON","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2645108,"name":"Aaron Berger","license_no":"01944602","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"SHERMAN OAKS","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2717897,"name":"Aaron Bernard Catolico","license_no":"02112566","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"WEST SACRAMENTO","state_code":"CA","source":"ca_dre","firm_name":"William L Lyon & Associates Inc","firm_id":314506},{"id":2496289,"name":"Aaron Bertrand Chan","license_no":"01177287","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"SALINAS","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2741365,"name":"Aaron Blair Rose","license_no":"02165433","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"BROWNS VALLEY","state_code":"CA","source":"ca_dre","firm_name":"eXp Realty of California, Inc.","firm_id":314633},{"id":2802790,"name":"Aaron Blake Chavez","license_no":"02292089","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"MODESTO","state_code":"CA","source":"ca_dre","firm_name":"Harold","firm_id":337172},{"id":2762175,"name":"Aaron Boudaie","license_no":"02205692","license_state":"CA","license_type":"Salesperson","license_status":"Licensed NBA","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2720118,"name":"Aaron Brandon Es-Haghian","license_no":"02117374","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"TARZANA","state_code":"CA","source":"ca_dre","firm_name":"Marcus & Millichap Real Estate","firm_id":315084},{"id":2499936,"name":"Aaron Brent Cuha","license_no":"01197089","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"ANTIOCH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2502346,"name":"Aaron Brent Tennison","license_no":"01208987","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"UPLAND","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2520958,"name":"Aaron Brett Kirman","license_no":"01296524","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"BEVERLY HILLS","state_code":"CA","source":"ca_dre","firm_name":"AKGRE Inc","firm_id":317832},{"id":2789079,"name":"Aaron Brian Zidenberg","license_no":"02242450","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"GROVER BEACH","state_code":"CA","source":"ca_dre","firm_name":"First Team Real Estate - Orange","firm_id":314725},{"id":2691209,"name":"Aaron Brook Roberts","license_no":"02057883","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"FOOTHILL RANCH","state_code":"CA","source":"ca_dre","firm_name":"Jones Lang Lasalle Americas Inc","firm_id":315299},{"id":2605471,"name":"Aaron Brown","license_no":"01821230","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"OAKLAND","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2653402,"name":"Aaron Buntin","license_no":"01965324","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN JOSE","state_code":"CA","source":"ca_dre","firm_name":"eXp Realty of California, Inc.","firm_id":314633},{"id":2609178,"name":"Aaron Buxbaum","license_no":"01836760","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"IRVINE","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2763536,"name":"Aaron Caine Hernandez","license_no":"02207430","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"POMONA","state_code":"CA","source":"ca_dre","firm_name":"The Network Realty Group, Inc.","firm_id":325808},{"id":2581000,"name":"Aaron Caleb Young","license_no":"01714552","license_state":"CA","license_type":"Broker","license_status":"Licensed","city":"LONG BEACH","state_code":"CA","source":"ca_dre","firm_name":null,"firm_id":null},{"id":2803822,"name":"Aaron Calimlim","license_no":"02307308","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"SAN MATEO","state_code":"CA","source":"ca_dre","firm_name":"Town & Country Realty Associates, Inc.","firm_id":315636},{"id":2675826,"name":"Aaron Carrillo","license_no":"02019334","license_state":"CA","license_type":"Salesperson","license_status":"Licensed","city":"LOS ANGELES","state_code":"CA","source":"ca_dre","firm_name":"Prime Line Mutual Group","firm_id":323524}]}
\ No newline at end of file
diff --git a/public/desk-assets/data/firms.json b/public/desk-assets/data/firms.json
new file mode 100644
index 00000000..f1541bc0
--- /dev/null
+++ b/public/desk-assets/data/firms.json
@@ -0,0 +1 @@
+{"total":34727,"limit":60,"offset":0,"rows":[{"id":314633,"name":"eXp Realty of California, Inc.","license_no":"01878277","license_state":"CA","hq_city":"SAN RAMON","hq_state":"CA","agent_count":4965,"source":"ca_dre"},{"id":315234,"name":"Real Brokerage Technologies","license_no":"02022092","license_state":"CA","hq_city":"NEWARK","hq_state":"CA","agent_count":4896,"source":"ca_dre"},{"id":314579,"name":"Compass California II, Inc.","license_no":"01527235","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":3678,"source":"ca_dre"},{"id":314651,"name":"Compass California, Inc.","license_no":"01991628","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":3444,"source":"ca_dre"},{"id":314624,"name":"NRT West, Inc.","license_no":"01908304","license_state":"CA","hq_city":"CONCORD","hq_state":"CA","agent_count":3311,"source":"ca_dre"},{"id":314515,"name":"Coldwell Banker Residential","license_no":"00616212","license_state":"CA","hq_city":"IRVINE","hq_state":"CA","agent_count":2987,"source":"ca_dre"},{"id":314737,"name":"Pickford Real Estate Inc","license_no":"01317331","license_state":"CA","hq_city":"SAN DIEGO","hq_state":"CA","agent_count":2286,"source":"ca_dre"},{"id":314541,"name":"Side, Inc.","license_no":"02014153","license_state":"CA","hq_city":"SAN FRANCISCO","hq_state":"CA","agent_count":2230,"source":"ca_dre"},{"id":314725,"name":"First Team Real Estate - Orange","license_no":"01008773","license_state":"CA","hq_city":"NEWPORT BEACH","hq_state":"CA","agent_count":1938,"source":"ca_dre"},{"id":314599,"name":"Real Estate Ebroker Inc","license_no":"01522411","license_state":"CA","hq_city":"SAN MARCOS","hq_state":"CA","agent_count":1780,"source":"ca_dre"},{"id":315786,"name":"LPT Realty, Inc","license_no":"02248983","license_state":"CA","hq_city":"LAKE MARY","hq_state":"FL","agent_count":1673,"source":"ca_dre"},{"id":314860,"name":"eXp Realty of Southern California, Inc.","license_no":"02187306","license_state":"CA","hq_city":"SAN DIEGO","hq_state":"CA","agent_count":1396,"source":"ca_dre"},{"id":314595,"name":"Full Realty Services Inc","license_no":"01849354","license_state":"CA","hq_city":"MURRIETA","hq_state":"CA","agent_count":1364,"source":"ca_dre"},{"id":314702,"name":"CBRE, Inc.","license_no":"00409987","license_state":"CA","hq_city":"LOS ANGELES","hq_state":"CA","agent_count":1213,"source":"ca_dre"},{"id":315889,"name":"eXp Realty of Northern California, Inc.","license_no":"02188495","license_state":"CA","hq_city":"ROSEVILLE","hq_state":"CA","agent_count":1175,"source":"ca_dre"},{"id":314522,"name":"Stratton - LFCA, Inc.","license_no":"02211662","license_state":"CA","hq_city":"WHITTIER","hq_state":"CA","agent_count":1147,"source":"ca_dre"},{"id":316240,"name":"eXp Realty of Greater Los Angeles, Inc.","license_no":"02188471","license_state":"CA","hq_city":"BURBANK","hq_state":"CA","agent_count":1083,"source":"ca_dre"},{"id":314570,"name":"Evergreen Realty Partners, Inc.","license_no":"01896421","license_state":"CA","hq_city":"LAGUNA NIGUEL","hq_state":"CA","agent_count":1077,"source":"ca_dre"},{"id":315030,"name":"Compass California III, Inc.","license_no":"01527365","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":1044,"source":"ca_dre"},{"id":317135,"name":"Navigators Real Estate, Inc.","license_no":"01918023","license_state":"CA","hq_city":"ARCADIA","hq_state":"CA","agent_count":1008,"source":"ca_dre"},{"id":314492,"name":"Sotheby's International Realty Inc","license_no":"00899496","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":986,"source":"ca_dre"},{"id":314490,"name":"West Edge Inc","license_no":"01481919","license_state":"CA","hq_city":"SAN DIEGO","hq_state":"CA","agent_count":978,"source":"ca_dre"},{"id":314957,"name":"CDH Investments Inc.","license_no":"01983717","license_state":"CA","hq_city":"ARCADIA","hq_state":"CA","agent_count":936,"source":"ca_dre"},{"id":315223,"name":"Dream Team Real Estate Consultants","license_no":"01811831","license_state":"CA","hq_city":"SHERMAN OAKS","hq_state":"CA","agent_count":909,"source":"ca_dre"},{"id":314847,"name":"Evergreen Realty & Associates Inc","license_no":"01814504","license_state":"CA","hq_city":"IRVINE","hq_state":"CA","agent_count":907,"source":"ca_dre"},{"id":314606,"name":"Pinnacle Estate Properties Inc","license_no":"00905345","license_state":"CA","hq_city":"PORTER RANCH","hq_state":"CA","agent_count":886,"source":"ca_dre"},{"id":314908,"name":"Intero Real Estate Services Inc","license_no":"01354442","license_state":"CA","hq_city":"CUPERTINO","hq_state":"CA","agent_count":877,"source":"ca_dre"},{"id":317102,"name":"West Capital Lending, Inc.","license_no":"02022356","license_state":"CA","hq_city":"IRVINE","hq_state":"CA","agent_count":859,"source":"ca_dre"},{"id":315520,"name":"The Finance Group, Inc.","license_no":"01400749","license_state":"CA","hq_city":"MODESTO","hq_state":"CA","agent_count":837,"source":"ca_dre"},{"id":315862,"name":"Alliance Bay Funding Inc","license_no":"01522539","license_state":"CA","hq_city":"NEWARK","hq_state":"CA","agent_count":807,"source":"ca_dre"},{"id":316372,"name":"Redfin Corporation","license_no":"01521930","license_state":"CA","hq_city":"SHERMAN OAKS","hq_state":"CA","agent_count":785,"source":"ca_dre"},{"id":315265,"name":"UMRO Realty Corp.","license_no":"01904054","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":757,"source":"ca_dre"},{"id":315943,"name":"Filo Real Estate Inc","license_no":"01801668","license_state":"CA","hq_city":"ROCKLIN","hq_state":"CA","agent_count":728,"source":"ca_dre"},{"id":314850,"name":"4 USA Loans Inc","license_no":"01425679","license_state":"CA","hq_city":"SAN DIEGO","hq_state":"CA","agent_count":721,"source":"ca_dre"},{"id":314695,"name":"Coldwell Banker Residential","license_no":"00958424","license_state":"CA","hq_city":"IRVINE","hq_state":"CA","agent_count":694,"source":"ca_dre"},{"id":314542,"name":"Pearson Properties Inc","license_no":"01499008","license_state":"CA","hq_city":"DANVILLE","hq_state":"CA","agent_count":681,"source":"ca_dre"},{"id":314960,"name":"Excellence RE Real Estate Inc.","license_no":"01914184","license_state":"CA","hq_city":"PICO RIVERA","hq_state":"CA","agent_count":662,"source":"ca_dre"},{"id":314524,"name":"Rodeo Realty, Inc.","license_no":"00951359","license_state":"CA","hq_city":"BEVERLY HILLS","hq_state":"CA","agent_count":662,"source":"ca_dre"},{"id":314543,"name":"Sereno Group, Inc.","license_no":"02101181","license_state":"CA","hq_city":"LOS GATOS","hq_state":"CA","agent_count":643,"source":"ca_dre"},{"id":317523,"name":"Wetrust Realty","license_no":"02125613","license_state":"CA","hq_city":"SAN MARINO","hq_state":"CA","agent_count":641,"source":"ca_dre"},{"id":315151,"name":"Norcal United Real Estate Partners","license_no":"02205397","license_state":"CA","hq_city":"SAN MATEO","hq_state":"CA","agent_count":617,"source":"ca_dre"},{"id":314930,"name":"Norcal Gold Inc","license_no":"01215931","license_state":"CA","hq_city":"RANCHO CORDOVA","hq_state":"CA","agent_count":594,"source":"ca_dre"},{"id":314758,"name":"AC2015 Corporation","license_no":"01986798","license_state":"CA","hq_city":"HENDERSON","hq_state":"NV","agent_count":582,"source":"ca_dre"},{"id":318596,"name":"BQ Group Inc","license_no":"01929787","license_state":"CA","hq_city":"SAN JOSE","hq_state":"CA","agent_count":580,"source":"ca_dre"},{"id":316941,"name":"Googain Inc","license_no":"01525887","license_state":"CA","hq_city":"SUNNYVALE","hq_state":"CA","agent_count":573,"source":"ca_dre"},{"id":314981,"name":"License Park Realty, Inc.","license_no":"02166462","license_state":"CA","hq_city":"RESTON","hq_state":"VA","agent_count":562,"source":"ca_dre"},{"id":316205,"name":"ROA California Inc.","license_no":"02248657","license_state":"CA","hq_city":"BERWYN","hq_state":"IL","agent_count":558,"source":"ca_dre"},{"id":316659,"name":"Real Estate Source Inc","license_no":"01869619","license_state":"CA","hq_city":"FOLSOM","hq_state":"CA","agent_count":554,"source":"ca_dre"},{"id":314955,"name":"Reliance Real Estate Services of","license_no":"02014163","license_state":"CA","hq_city":"CORONA","hq_state":"CA","agent_count":550,"source":"ca_dre"},{"id":314613,"name":"JMS Realtors Ltd","license_no":"01100967","license_state":"CA","hq_city":"FRESNO","hq_state":"CA","agent_count":546,"source":"ca_dre"},{"id":314964,"name":"BWR Real Estate Services","license_no":"01522213","license_state":"CA","hq_city":"FREMONT","hq_state":"CA","agent_count":514,"source":"ca_dre"},{"id":315160,"name":"Exp Commercial of California, Inc.","license_no":"02134436","license_state":"CA","hq_city":"SAN RAMON","hq_state":"CA","agent_count":511,"source":"ca_dre"},{"id":315137,"name":"Realty Masters & Associates, Inc","license_no":"01927637","license_state":"CA","hq_city":"RANCHO CUCAMONGA","hq_state":"CA","agent_count":511,"source":"ca_dre"},{"id":316026,"name":"JohnHart Corp","license_no":"01873088","license_state":"CA","hq_city":"LA CRESCENTA","hq_state":"CA","agent_count":506,"source":"ca_dre"},{"id":315184,"name":"TNG Real Estate Consultants Inc.","license_no":"01886242","license_state":"CA","hq_city":"FULLERTON","hq_state":"CA","agent_count":504,"source":"ca_dre"},{"id":316246,"name":"Fathom Realty Group Inc.","license_no":"01901202","license_state":"CA","hq_city":"MISSION VIEJO","hq_state":"CA","agent_count":501,"source":"ca_dre"},{"id":314759,"name":"Award-Superstars","license_no":"01897784","license_state":"CA","hq_city":"EL CAJON","hq_state":"CA","agent_count":500,"source":"ca_dre"},{"id":314979,"name":"Cushman & Wakefield U.S., Inc.","license_no":"01880493","license_state":"CA","hq_city":"SAN DIEGO","hq_state":"CA","agent_count":500,"source":"ca_dre"},{"id":314690,"name":"Paul M Zagaris Inc","license_no":"00405158","license_state":"CA","hq_city":"MODESTO","hq_state":"CA","agent_count":495,"source":"ca_dre"},{"id":315387,"name":"Realty Rise Inc","license_no":"01957687","license_state":"CA","hq_city":"CARLSBAD","hq_state":"CA","agent_count":495,"source":"ca_dre"}]}
\ No newline at end of file
diff --git a/public/desk-assets/data/la-commercial.json b/public/desk-assets/data/la-commercial.json
new file mode 100644
index 00000000..dc559a2c
--- /dev/null
+++ b/public/desk-assets/data/la-commercial.json
@@ -0,0 +1 @@
+{"fetched_at":"2026-07-22T18:31:04.117Z","county":"06037","marquee":[{"ain":"4334007008","address":"121 N LA CIENEGA BLVD","city":"LOS ANGELES","zip":"90048","type":"retail","type_label":"Retail","use_desc":"Shopping Center (Regional)","assessed_total":995837586,"assessed_land":476270150,"assessed_improvement":519567436,"roll_year":"2025","recording_date":"2020-12-29T00:00:00.000Z","sqft":1284654,"year_built":1981,"units":0,"brief":"The 1,284,654 sqft, 1981-built regional shopping center at 121 N La Cienega Blvd in Los Angeles has an assessed value of $995,837,586, last recorded on Dec 29."},{"ain":"2424043022","address":"3900 LANKERSHIM BLVD","city":"LOS ANGELES","zip":"90068","type":"industrial","type_label":"Industrial","use_desc":"Heavy Manufacturing","assessed_total":919928415,"assessed_land":160335677,"assessed_improvement":199521231,"roll_year":"2025","recording_date":"2011-01-28T00:00:00.000Z","sqft":8048,"year_built":1930,"units":0,"brief":"The 1930-built, 8,048 sqft heavy manufacturing property at 3900 Lankershim Blvd in Los Angeles has an assessed value of $919,928,415, last recorded transferring on Jan 28."},{"ain":"5151023400","address":"525 S FLOWER ST","city":"LOS ANGELES","zip":"90071","type":"office","type_label":"Office","use_desc":"Office Building","assessed_total":909370171,"assessed_land":134403685,"assessed_improvement":774966486,"roll_year":"2025","recording_date":"2013-10-01T00:00:00.000Z","sqft":2832748,"year_built":1971,"units":0,"brief":"The 2.8M sqft office building at 525 S Flower St in Los Angeles has an assessed value of $909M and was last transferred on October 1, 1971."},{"ain":"2673021041","address":"15800 ROSCOE BLVD","city":"LOS ANGELES","zip":"91406","type":"industrial","type_label":"Industrial","use_desc":"Food Processing Plant","assessed_total":856465517,"assessed_land":104517723,"assessed_improvement":391931829,"roll_year":"2025","recording_date":"2016-09-21T00:00:00.000Z","sqft":393032,"year_built":1954,"units":0,"brief":"The 393,032 sqft food processing plant at 15800 Roscoe Blvd in Los Angeles has an assessed value of $856,465,517 and last transferred on September 21."},{"ain":"2485021011","address":"4000 WARNER BLVD","city":"BURBANK","zip":"91522","type":"studio","type_label":"Studio / Media","use_desc":"Motion Picture, Radio and Television Industry","assessed_total":737677562,"assessed_land":288849385,"assessed_improvement":448828177,"roll_year":"2025","recording_date":"2022-04-08T00:00:00.000Z","sqft":152217,"year_built":1926,"units":0,"brief":"The 152,217 sqft studio at 4000 Warner Blvd in Burbank, valued at $737,677,562 as of last transfer on April 8, 2022, supports the Motion Picture, Radio and Television Industry."},{"ain":"5151014031","address":"333 S HOPE ST","city":"LOS ANGELES","zip":"90071","type":"office","type_label":"Office","use_desc":"Office Building","assessed_total":729339835,"assessed_land":112546537,"assessed_improvement":616793298,"roll_year":"2025","recording_date":"2013-10-15T00:00:00.000Z","sqft":1392719,"year_built":1974,"units":0,"brief":"The office building located at 333 S HOPE ST in Los Angeles, with a assessed value of $729,339,835 and built in 1974, spans 1,392,719 sqft. Last recorded transfer occurred on Oct 15."},{"ain":"2484024003","address":"3000 W ALAMEDA AVE","city":"BURBANK","zip":"91523","type":"studio","type_label":"Studio / Media","use_desc":"Motion Picture, Radio and Television Industry","assessed_total":726811997,"assessed_land":310816518,"assessed_improvement":415995479,"roll_year":"2025","recording_date":"2007-12-21T00:00:00.000Z","sqft":178427,"year_built":1954,"units":0,"brief":"The motion picture and media property at 3000 W Alameda Ave in Burbank, assessed at $726,811,997 for 178,427 sqft, last transferred on December 21st."},{"ain":"2424043032","address":"100 UNIVERSAL CITY PLAZA","city":"LOS ANGELES","zip":"91608","type":"studio","type_label":"Studio / Media","use_desc":"Motion Picture, Radio and Television Industry","assessed_total":708909993,"assessed_land":178478332,"assessed_improvement":530431661,"roll_year":"2025","recording_date":"2011-01-28T00:00:00.000Z","sqft":65532,"year_built":1924,"units":0,"brief":"The 65,532 sqft 1924-built Universal City Plaza studio property in Los Angeles, valued at $708,909,993, was last transferred on January 28."},{"ain":"5151015012","address":"333 S GRAND AVE","city":"LOS ANGELES","zip":"90071","type":"office","type_label":"Office","use_desc":"Office Building","assessed_total":682082790,"assessed_land":72313693,"assessed_improvement":609769097,"roll_year":"2025","recording_date":"2013-10-15T00:00:00.000Z","sqft":1480365,"year_built":1981,"units":0,"brief":"The office building at 333 S Grand Ave in Los Angeles has an assessed value of $682,082,790 and spans 1,480,365 square feet, last recorded to have transferred on October 15. Built in 1981."},{"ain":"2424043034","address":"3900 LANKERSHIM BLVD","city":"LOS ANGELES","zip":"90068","type":"studio","type_label":"Studio / Media","use_desc":"Motion Picture, Radio and Television Industry","assessed_total":652153484,"assessed_land":134253441,"assessed_improvement":517900043,"roll_year":"2025","recording_date":"2011-01-28T00:00:00.000Z","sqft":21585,"year_built":1965,"units":0,"brief":"The 21,585 sqft studio at 3900 Lankershim Blvd in Los Angeles, valued at $652,153,484 as of last transfer on Jan 28, 1965, supports the motion picture, radio, and television industry."},{"ain":"2424043021","address":"3900 LANKERSHIM BLVD","city":"LOS ANGELES","zip":"90068","type":"industrial","type_label":"Industrial","use_desc":"Heavy Manufacturing","assessed_total":631556702,"assessed_land":73689555,"assessed_improvement":557867147,"roll_year":"2025","recording_date":"2011-01-28T00:00:00.000Z","sqft":125487,"year_built":1981,"units":0,"brief":"The industrial property at 3900 Lankershim Blvd in Los Angeles, used for heavy manufacturing and with a assessed value of $631,556,702, last recorded transferred on January 28, features a building size of 125,487 sqft and was constructed in 1981."},{"ain":"4211010118","address":"5865 S CAMPUS CENTER DR","city":"LOS ANGELES","zip":"90094","type":"office","type_label":"Office","use_desc":"Office Building","assessed_total":583333400,"assessed_land":175581577,"assessed_improvement":407751823,"roll_year":"2025","recording_date":"2016-12-22T00:00:00.000Z","sqft":514260,"year_built":1943,"units":0,"brief":"The 514,260 sqft office building at 5865 S Campus Center Dr in Los Angeles has an assessed value of $583,333,400 and last transferred on Dec 22."}],"recent":[{"ain":"8264005913","address":null,"city":null,"zip":null,"type":"industrial","type_label":"Industrial","use_desc":"Industrial","assessed_total":0,"assessed_land":0,"assessed_improvement":0,"roll_year":"2025","recording_date":"2025-04-02T00:00:00.000Z","sqft":0,"year_built":0,"units":0,"brief":"Last recorded transfer for this industrial property was on April 2nd."},{"ain":"5147007901","address":"501 E 5TH ST","city":"LOS ANGELES","zip":"90013","type":"industrial","type_label":"Industrial","use_desc":"Industrial","assessed_total":0,"assessed_land":0,"assessed_improvement":0,"roll_year":"2025","recording_date":"2025-03-13T00:00:00.000Z","sqft":0,"year_built":0,"units":0,"brief":"The industrial property at 501 E 5th St, Los Angeles, had its last recorded transfer on March 13."},{"ain":"6015036011","address":"1745 W FLORENCE AVE","city":"LOS ANGELES","zip":"90047","type":"retail","type_label":"Retail","use_desc":"Store","assessed_total":405756,"assessed_land":312120,"assessed_improvement":93636,"roll_year":"2025","recording_date":"2025-01-21T00:00:00.000Z","sqft":1350,"year_built":1928,"units":0,"brief":"The retail store at 1745 W Florence Ave in Los Angeles, with a assessed value of $405,756 and 1,350 sqft of building space, was last transferred on January 21. Built in 1928."},{"ain":"7436006923","address":"1667 W 9TH ST","city":"LONG BEACH","zip":"90813","type":"industrial","type_label":"Industrial","use_desc":"Light Manufacturing","assessed_total":0,"assessed_land":0,"assessed_improvement":0,"roll_year":"2025","recording_date":"2025-01-17T00:00:00.000Z","sqft":16500,"year_built":1973,"units":0,"brief":"The 16,500 sqft light manufacturing property at 1667 W 9th St in Long Beach, built in 1973, last recorded transferred on Jan 17."},{"ain":"6239015023","address":null,"city":null,"zip":null,"type":"industrial","type_label":"Industrial","use_desc":"Light Manufacturing","assessed_total":0,"assessed_land":0,"assessed_improvement":0,"roll_year":"2025","recording_date":"2025-01-06T00:00:00.000Z","sqft":0,"year_built":0,"units":0,"brief":"Last recorded transfer for the light manufacturing industrial property was on January 6."},{"ain":"5586035044","address":"5766 HOLLYWOOD BLVD","city":"LOS ANGELES","zip":"90028","type":"retail","type_label":"Retail","use_desc":"Store Combination","assessed_total":78189905,"assessed_land":28000000,"assessed_improvement":50000000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":178421,"year_built":2021,"units":161,"brief":"The retail property at 5766 Hollywood Blvd in Los Angeles, a store combination occupying 178,421 sqft and built in 2021, has an assessed value of $78,189,905 as of last recorded transfer on December 31."},{"ain":"6303019014","address":"3385 LEONIS BLVD","city":"VERNON","zip":"90058","type":"industrial","type_label":"Industrial","use_desc":"Heavy Manufacturing","assessed_total":18724000,"assessed_land":8274000,"assessed_improvement":10450000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":55136,"year_built":1947,"units":0,"brief":"The 55,136 sqft heavy manufacturing property at 3385 Leonis Blvd in Vernon has an assessed value of $18,724,000 and was last recorded to have transferred on December 31st."},{"ain":"5442025039","address":"2965 ALLESANDRO ST","city":"LOS ANGELES","zip":"90039","type":"retail","type_label":"Retail","use_desc":"Store Combination","assessed_total":10404000,"assessed_land":3060000,"assessed_improvement":7344000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":33888,"year_built":2024,"units":25,"brief":"The retail property at 2965 Allesandro St in Los Angeles, with a assessed value of $10,404,000 and a building size of 33,888 sqft, was last recorded to have been transferred on December 31."},{"ain":"2350004070","address":"11410 BURBANK BLVD","city":"LOS ANGELES","zip":"91601","type":"retail","type_label":"Retail","use_desc":"Store","assessed_total":9000000,"assessed_land":9000000,"assessed_improvement":0,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":12388,"year_built":1963,"units":6,"brief":"The retail store located at 11410 Burbank Blvd in Los Angeles, with a assessed value of $9,000,000 and a building size of 12,388 sqft, was last recorded to have transferred on December 31st."},{"ain":"2258012026","address":"17257 VENTURA BLVD","city":"LOS ANGELES","zip":"91316","type":"retail","type_label":"Retail","use_desc":"Store","assessed_total":8939799,"assessed_land":5231865,"assessed_improvement":3707934,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":30162,"year_built":1980,"units":0,"brief":"The retail store located at 17257 Ventura Blvd in Los Angeles, with a assessed value of $8,939,799 and a building size of 30,162 sqft, was last recorded to have transferred on December 31st."},{"ain":"7432016034","address":"1442 W 16TH ST","city":"LONG BEACH","zip":"90813","type":"industrial","type_label":"Industrial","use_desc":"Light Manufacturing","assessed_total":8500000,"assessed_land":6200000,"assessed_improvement":2300000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":2212,"year_built":1982,"units":1,"brief":"The 2,212 sqft light manufacturing industrial property at 1442 W 16th St in Long Beach, assessed at $8,500,000, last transferred on December 31."},{"ain":"8382005032","address":"440 E ARROW HWY","city":"SAN DIMAS","zip":"91773","type":"industrial","type_label":"Industrial","use_desc":"Light Manufacturing","assessed_total":6869000,"assessed_land":3200000,"assessed_improvement":3669000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":18369,"year_built":1997,"units":0,"brief":"The 18,369 sqft light manufacturing property at 440 E Arrow Hwy in San Dimas has an assessed value of $6,869,000 and was last transferred on December 31st. Built in 1997."},{"ain":"6203022043","address":"4149 TWEEDY BLVD","city":"SOUTH GATE","zip":"90280","type":"retail","type_label":"Retail","use_desc":"Shopping Center (Neighborhood, Community)","assessed_total":5167728,"assessed_land":1118308,"assessed_improvement":4049420,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":12321,"year_built":1989,"units":0,"brief":"The 12,321 sqft shopping center at 4149 Tweedy Blvd in South Gate, assessed at $5,167,728, last transferred on December 31st."},{"ain":"5282010030","address":"8966 GARVEY AVE","city":"ROSEMEAD","zip":"91770","type":"retail","type_label":"Retail","use_desc":"Store","assessed_total":5021460,"assessed_land":3258900,"assessed_improvement":1762560,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":17745,"year_built":1985,"units":0,"brief":"The retail store located at 8966 Garvey Ave in Rosemead, with a assessed value of $5,021,460 and 17,745 sqft of building space built in 1985, last recorded transferred on December 31."},{"ain":"6213003027","address":"3480 E FLORENCE AVE","city":"HUNTINGTON PARK","zip":"90255","type":"retail","type_label":"Retail","use_desc":"Restaurant, Cocktail Lounge","assessed_total":4500000,"assessed_land":2750000,"assessed_improvement":1750000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":1866,"year_built":2024,"units":1,"brief":"The retail property at 3480 E Florence Ave in Huntington Park, a restaurant and cocktail lounge with a assessed value of $4,500,000 and 1,866 sqft, last recorded transferred on December 31."},{"ain":"6203022045","address":"4161 TWEEDY BLVD","city":"SOUTH GATE","zip":"90280","type":"retail","type_label":"Retail","use_desc":"Shopping Center (Neighborhood, Community)","assessed_total":4229779,"assessed_land":919898,"assessed_improvement":3309881,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":10238,"year_built":1989,"units":0,"brief":"The 10,238 sqft shopping center at 4161 Tweedy Blvd in South Gate, assessed at $4,229,779, last transferred on December 31."},{"ain":"7432005047","address":"1501 SANTA FE AVE","city":"LONG BEACH","zip":"90813","type":"retail","type_label":"Retail","use_desc":"Store","assessed_total":4000000,"assessed_land":1325000,"assessed_improvement":2675000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":7760,"year_built":1947,"units":0,"brief":"The retail store located at 1501 Santa Fe Ave in Long Beach, with a assessed value of $4,000,000 and a building size of 7,760 sqft, was last recorded to have transferred on Tue Dec 31, 1947."},{"ain":"5511008002","address":"8240 BEVERLY BLVD","city":"LOS ANGELES","zip":"90048","type":"office","type_label":"Office","use_desc":"Office Building","assessed_total":3899998,"assessed_land":2924999,"assessed_improvement":974999,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":6786,"year_built":1955,"units":0,"brief":"The 6,786 sqft office building located at 8240 Beverly Blvd in Los Angeles has an assessed value of $3,899,998 and was last transferred on December 31st. Built in 1955."},{"ain":"5636015189","address":"428 ARDEN AVE","city":"GLENDALE","zip":"91203","type":"office","type_label":"Office","use_desc":"Professional Building","assessed_total":3760000,"assessed_land":2300000,"assessed_improvement":1460000,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":8436,"year_built":1985,"units":0,"brief":"The 8,436 sqft professional office building located at 428 Arden Ave in Glendale, assessed at $3,760,000, last transferred on December 31st."},{"ain":"2242027022","address":"15007 OXNARD ST","city":"LOS ANGELES","zip":"91411","type":"industrial","type_label":"Industrial","use_desc":"Light Manufacturing","assessed_total":3659487,"assessed_land":2639941,"assessed_improvement":1019546,"roll_year":"2025","recording_date":"2024-12-31T00:00:00.000Z","sqft":17015,"year_built":1946,"units":1,"brief":"The 17,015 sqft light manufacturing property at 15007 Oxnard St, Los Angeles, has an assessed value of $3,659,487 and was last transferred on December 31st. Built in 1946."}],"firms":[{"name":"CBRE, Inc.","agent_count":1213,"city":"LOS ANGELES","license_no":"00409987"},{"name":"New Star Realty, Inc.","agent_count":366,"city":"LOS ANGELES","license_no":"01096925"},{"name":"Graff Real Estate","agent_count":278,"city":"LOS ANGELES","license_no":"02041450"},{"name":"Forward Wilshire Inc","agent_count":208,"city":"LOS ANGELES","license_no":"01870534"},{"name":"Nourmand & Associates","agent_count":172,"city":"LOS ANGELES","license_no":"00656371"},{"name":"Newmark of Southern California Inc","agent_count":157,"city":"LOS ANGELES","license_no":"01355491"},{"name":"LF Assoc, Inc.","agent_count":146,"city":"LOS ANGELES","license_no":"01430290"},{"name":"Erdelyi Real Estate, Inc.","agent_count":137,"city":"LOS ANGELES","license_no":"01920782"},{"name":"D/Aq Corporation","agent_count":111,"city":"LOS ANGELES","license_no":"01129558"},{"name":"Savills Inc.","agent_count":94,"city":"LOS ANGELES","license_no":"00388260"},{"name":"Dream Realty & Investments Inc","agent_count":91,"city":"LOS ANGELES","license_no":"02205941"},{"name":"Transwestern Property Company West","agent_count":81,"city":"LOS ANGELES","license_no":"01263636"}]}
\ No newline at end of file
diff --git a/public/desk.html b/public/desk.html
new file mode 100644
index 00000000..c7a1ddea
--- /dev/null
+++ b/public/desk.html
@@ -0,0 +1,167 @@
+<!doctype html><html lang="en"><head>
+<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
+<title>RENTV · Broker & Owner Intelligence Desk</title>
+<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@800&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
+<style>
+ :root{--red:#c8102e;--line:#232a32}*{box-sizing:border-box;margin:0}
+ body{background:#0d1014;color:#e7ecf1;font-family:'Inter',system-ui,sans-serif;font-size:13.5px}
+ a{color:inherit;text-decoration:none}
+ .top{position:sticky;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 14px;background:#0b0e12;border-bottom:1px solid var(--line)}
+ .burger{display:inline-flex;align-items:center;gap:9px;border:0;background:none;color:#e7ecf1;cursor:pointer;font:inherit;padding:6px 8px;border-radius:8px}.burger:hover{background:rgba(255,255,255,.08)}
+ .burger .lbl{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8b939b}
+ .brand{position:absolute;left:50%;transform:translateX(-50%);font-family:'Playfair Display',serif;font-weight:800;font-size:19px}.brand span{color:var(--red)}
+ .user{width:35px;height:35px;border-radius:50%;border:1.5px solid #2a323b;background:#11161c;color:#cfd6dd;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.user:hover{border-color:var(--red);color:#fff}
+ .scrim{position:fixed;inset:0;background:rgba(6,9,12,.5);opacity:0;pointer-events:none;transition:.22s;z-index:950}.scrim.open{opacity:1;pointer-events:auto}
+ .drawer{position:fixed;top:0;left:0;height:100%;width:340px;max-width:88vw;background:#0b0e12;transform:translateX(-102%);transition:transform .26s cubic-bezier(.4,0,.2,1);z-index:951;display:flex;flex-direction:column;overflow-y:auto;box-shadow:2px 0 40px rgba(0,0,0,.4)}
+ .drawer.open{transform:none}
+ .drawer .dh{display:flex;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.drawer .dh .w{font-family:'Playfair Display',serif;font-size:21px;font-weight:800}.drawer .dh .w span{color:var(--red)}.drawer .dh button{background:none;border:0;color:#8b949e;font-size:22px;cursor:pointer}
+ .gt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6b747d;padding:14px 18px 6px}
+ .drawer nav a{display:block;padding:9px 18px;color:#dbe1e7;border-left:3px solid transparent}.drawer nav a:hover{background:#141a21;border-left-color:var(--red);color:#fff}
+ /* shell = left rail + content (NO horizontal tabs) */
+ .shell{display:grid;grid-template-columns:200px 1fr;height:calc(100vh - 52px)}
+ .rail{border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
+ .rail .h{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6b747d;padding:8px 10px 4px}
+ .rail button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#c3cbd3;font:700 13px 'Inter';padding:10px 12px;border-radius:9px;cursor:pointer;text-align:left}
+ .rail button:hover{background:#12161c}.rail button.on{background:#12161c;color:#fff;box-shadow:inset 3px 0 0 var(--red)}
+ .rail button .i{font-size:15px;width:18px;text-align:center}.rail .c{margin-left:auto;font-size:11px;color:#8b939b}
+ .content{overflow:hidden;position:relative}
+ .view{position:absolute;inset:0;overflow-y:auto;display:none}.view.on{display:block}
+ /* shared bits */
+ .act{display:inline-flex;align-items:center;gap:6px;background:#12161c;border:1px solid #2a333d;border-radius:8px;padding:7px 11px;color:#dbe1e7;font-weight:700;font-size:12.5px;white-space:nowrap}.act:hover{border-color:var(--red);color:#fff}.act .i{font-size:14px}
+ .acts{display:flex;gap:7px;flex-wrap:wrap}
+ .field-link{color:#7cc0ff;border-bottom:1px dotted #3a5064}.field-link:hover{color:#a9d5ff}
+ .lic{color:#37d67a;font-family:ui-monospace,monospace}
+ /* directory (master-detail) */
+ .md{display:grid;grid-template-columns:360px 1fr;height:100%}
+ .md .list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
+ .md .search{padding:12px;border-bottom:1px solid var(--line)}.md .search input{width:100%;background:#11161c;border:1px solid var(--line);border-radius:9px;color:#e7ecf1;padding:10px 12px;font:inherit}
+ .md .rows{overflow-y:auto;flex:1}
+ .md .row{padding:12px 14px;border-bottom:1px solid #171d24;cursor:pointer}.md .row:hover{background:#141b22}.md .row.sel{background:#11161c;border-left:3px solid var(--red)}
+ .md .row .nm{font-weight:700;font-size:14px}.md .row .f{font-size:12px;color:#9aa4ad;margin-top:2px}
+ .md .detail{overflow-y:auto;padding:30px 36px}
+ .md .detail .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:800}
+ .md .detail h2{font-size:30px;font-weight:800;margin:5px 0}.md .detail .meta{color:#9aa4ad;font-size:15px}
+ .md .detail .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.md .detail .cell{background:#11161c;border:1px solid var(--line);border-radius:10px;padding:13px}.md .detail .cell .kk{font-size:11px;color:#8b939b;text-transform:uppercase}.md .detail .cell .vv{font-size:17px;font-weight:700;margin-top:3px}
+ .md .detail .acts{margin:20px 0}
+ /* map */
+ .mapv{display:grid;grid-template-columns:1fr 340px;height:100%}
+ .map{position:relative;background:radial-gradient(circle at 42% 38%,#1a2531,#0b1016);overflow:hidden}
+ .map .g{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px}
+ .pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer;z-index:3;text-align:center}.pin .d{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);margin:0 auto;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.5)}.pin .l{background:#0b0e12;border:1px solid var(--line);border-radius:6px;font-size:11px;font-weight:800;padding:3px 7px;margin-top:6px;white-space:nowrap}.pin.sel .d{background:#37d67a}
+ .mside{border-left:1px solid var(--line);overflow-y:auto;padding:20px}.mside .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:800}.mside h2{font-size:22px;font-weight:800;margin:5px 0}.mside .r{display:flex;justify-content:space-between;border-bottom:1px solid #171d24;padding:8px 0}.mside b{color:#e7ecf1}.mside .acts{margin:16px 0}
+ /* analytics */
+ .an{padding:18px 22px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{background:#11161c;border:1px solid var(--line);border-radius:12px;padding:16px}.kpi .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8b939b}.kpi .v{font-size:28px;font-weight:800;margin-top:4px}
+ .panel{background:#11161c;border:1px solid var(--line);border-radius:12px;padding:16px}.panel h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8b939b;margin-bottom:14px}
+ .barwrap .bar{display:flex;align-items:center;gap:10px;margin-bottom:9px;cursor:pointer}.bar .lab{width:170px;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar .track{flex:1;height:22px;background:#0e141a;border-radius:5px;overflow:hidden}.bar .fill{height:100%;background:linear-gradient(90deg,var(--red),#e0455f)}.bar .val{width:64px;text-align:right;font-weight:800}.barwrap .acts{display:none;margin:2px 0 12px 180px}.barwrap.open .acts{display:flex}
+ /* command */
+ .cmd{max-width:760px;margin:0 auto;padding:40px 20px}.cmd .box{background:#11161c;border:1px solid #2a333d;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}.cmd .in{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.cmd input{flex:1;background:none;border:0;color:#e7ecf1;font:600 18px 'Inter';outline:none}.cmd .results{max-height:56vh;overflow-y:auto}.res{padding:12px 16px;border-bottom:1px solid #171d24;cursor:pointer}.res:hover,.res.hot{background:#141b22}.res .nm{font-weight:700}.res .f{font-size:12px;color:#9aa4ad;margin-top:2px}.res .exp{display:none;margin-top:10px}.res.open .exp{display:block}
+ .fresh{color:#6b747d;font-size:12px;padding:10px 14px}
+ @media(max-width:900px){.shell{grid-template-columns:1fr;height:auto}.md,.mapv{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}}
+</style></head>
+<body>
+<header class="top">
+ <button class="burger" id="burger" aria-label="Menu"><svg width="21" height="21" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><path d="M3 6h18M3 12h18M3 18h18"/></svg><span class="lbl">Menu</span></button>
+ <a class="brand" href="/">REN<span>TV</span> · Intelligence Desk</a>
+ <button class="user" id="user" title="Sign in"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="8" r="3.5"/><path d="M4.5 20a7.5 7.5 0 0 1 15 0" stroke-linecap="round"/></svg></button>
+</header>
+<div class="scrim" id="scrim"></div>
+<aside class="drawer" id="drawer">
+ <div class="dh"><span class="w">REN<span>TV</span></span><button id="dclose">✕</button></div>
+ <div class="gt">Intelligence</div><nav><a href="/desk">Broker & Owner Desk</a><a href="/la-commercial">LA Commercial</a><a href="/markets">Markets</a></nav>
+ <div class="gt">Newsroom</div><nav><a href="/">Home</a><a href="/review">The REview</a><a href="/blog">Blog</a><a href="/conferences">Conferences</a></nav>
+</aside>
+<div class="shell">
+ <nav class="rail" id="rail">
+ <div class="h">View</div>
+ <button data-v="directory" class="on"><span class="i">▤</span>Directory</button>
+ <button data-v="map"><span class="i">◈</span>Map</button>
+ <button data-v="analytics"><span class="i">▮</span>Analytics</button>
+ <button data-v="command"><span class="i">⌘</span>Command</button>
+ <div class="h" style="margin-top:10px">Scope</div>
+ <button data-s="brokers" class="on scope"><span class="i">👤</span>Brokers <span class="c" id="cB">0</span></button>
+ <button data-s="firms" class="scope"><span class="i">🏢</span>Firms <span class="c" id="cF">0</span></button>
+ <button data-s="owners" class="scope"><span class="i">🏛️</span>Owners <span class="c" id="cO">0</span></button>
+ <div class="fresh" id="fresh"></div>
+ </nav>
+ <div class="content">
+ <div class="view on" id="v-directory"></div>
+ <div class="view" id="v-map"></div>
+ <div class="view" id="v-analytics"></div>
+ <div class="view" id="v-command"></div>
+ </div>
+</div>
+<script>
+const $=s=>document.getElementById(s), enc=encodeURIComponent;
+const esc=s=>String(s==null?'':s).replace(/[&<>"]/g,c=>({'&':'&','<':'<','>':'>','"':'"'}[c]));
+const shortUsd=n=>{n=Number(n)||0;return n>=1e9?'$'+(n/1e9).toFixed(2)+'B':n>=1e6?'$'+(n/1e6).toFixed(1)+'M':'$'+n.toLocaleString();};
+const dstr=d=>d?new Date(d).toLocaleDateString(undefined,{month:'short',day:'numeric',year:'numeric'}):'—';
+const loc=x=>[x.city||x.hq_city,x.state_code||x.hq_state].filter(Boolean).join(', ');
+const LI_P=(n,f)=>`https://www.linkedin.com/search/results/people/?keywords=${enc([n,f].filter(Boolean).join(' '))}`,LI_C=f=>`https://www.linkedin.com/search/results/companies/?keywords=${enc(f)}`,WEB=f=>`https://www.google.com/search?q=${enc('"'+f+'" real estate official website')}`,MAPS=q=>`https://www.google.com/maps/search/?api=1&query=${enc(q)}`,DRE=l=>`https://www2.dre.ca.gov/PublicASP/pplinfo.asp?License_id=${enc(l)}`,GOOG=q=>`https://www.google.com/search?q=${enc(q)}`,ASSR=a=>`https://portal.assessor.lacounty.gov/parceldetail/${enc(a)}`;
+const A=(h,i,l)=>`<a class="act" href="${h}" target="_blank" rel="noopener" onclick="event.stopPropagation()"><span class="i">${i}</span>${l}</a>`;
+function actions(k,x){
+ if(k==='firms')return [A(LI_C(x.name),'🏢','LinkedIn'),A(WEB(x.name),'🌐','Website'),A(MAPS(x.name+' '+loc(x)),'📍','HQ / Map'),x.license_no?A(DRE(x.license_no),'🪪','DRE'):'',A(GOOG(x.name+' brokers '+loc(x)),'🔎','Google')].filter(Boolean).join('');
+ if(k==='owners'){const ad=[x.address,x.city].filter(Boolean).join(', ');return [A(MAPS(ad),'📍','Map'),A(GOOG(ad+' '+(x.use_desc||'')+' owner'),'🔎','Owner / deal'),A('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint='+enc(ad),'📸','Street View'),A(ASSR(x.ain),'🏛️','Assessor')].join('');}
+ return [A(LI_P(x.name,x.firm_name),'👤','LinkedIn'),A(GOOG(x.name+' '+(x.firm_name||'')+' '+loc(x)),'🔎','Google'),x.firm_name?A(WEB(x.firm_name),'🌐','Firm site'):'',x.firm_name?A(LI_C(x.firm_name),'🏢','Firm'):'',loc(x)?A(MAPS((x.firm_name||x.name)+' '+loc(x)),'📍','Map'):'',x.license_no?A(DRE(x.license_no),'🪪','DRE'):''].filter(Boolean).join('');
+}
+const nm=x=>x.name||x.address||x.ain, sub=(k,x)=>k==='brokers'?(x.firm_name||'—'):k==='firms'?((x.agent_count||0).toLocaleString()+' agents'):(x.type_label||'');
+let D={scope:'brokers',view:'directory',selDir:0,selMap:0};
+// chrome
+$('burger').onclick=()=>{$('scrim').classList.add('open');$('drawer').classList.add('open');};
+const cd=()=>{$('scrim').classList.remove('open');$('drawer').classList.remove('open');};$('dclose').onclick=cd;$('scrim').onclick=cd;
+$('user').onclick=()=>location.href='/subscribe';
+async function jget(u,fb){try{const r=await fetch(u,{credentials:'same-origin'});if(!r.ok)return fb;return await r.json();}catch(e){return fb;}}
+(async()=>{
+ const [b,f,la]=await Promise.all([jget('desk-assets/data/brokers.json',{rows:[]}),jget('desk-assets/data/firms.json',{rows:[]}),jget('/api/la-commercial',null).then(v=>v||jget('desk-assets/data/la-commercial.json',{marquee:[]}))]);
+ D.brokers=b.rows||[];D.firms=f.rows||[];D.owners=la.marquee||[];D.totalB=b.total||D.brokers.length;D.totalF=f.total||D.firms.length;
+ $('cB').textContent=D.brokers.length;$('cF').textContent=D.firms.length;$('cO').textContent=D.owners.length;
+ $('fresh').textContent='CA DRE registry · '+D.brokers.length+' brokers of '+D.totalB.toLocaleString()+' statewide';
+ renderAll();
+})();
+function scopeData(){return D.scope==='brokers'?D.brokers:D.scope==='firms'?D.firms:D.owners;}
+// rail
+$('rail').addEventListener('click',e=>{const btn=e.target.closest('button');if(!btn)return;
+ if(btn.dataset.v){document.querySelectorAll('#rail [data-v]').forEach(x=>x.classList.remove('on'));btn.classList.add('on');D.view=btn.dataset.v;document.querySelectorAll('.view').forEach(v=>v.classList.remove('on'));$('v-'+D.view).classList.add('on');}
+ if(btn.dataset.s){document.querySelectorAll('#rail .scope').forEach(x=>x.classList.remove('on'));btn.classList.add('on');D.scope=btn.dataset.s;D.selDir=0;renderAll();}
+});
+function renderAll(){directory();map();analytics();command();}
+// ── Directory (master-detail) ──
+function directory(){
+ const rows=scopeData();
+ $('v-directory').innerHTML=`<div class="md"><div class="list"><div class="search"><input id="dq" placeholder="Search ${D.scope}…"></div><div class="rows" id="drows"></div></div><div class="detail" id="ddetail"></div></div>`;
+ const q='';
+ function list(){let r=rows.slice();const v=($('dq').value||'').toLowerCase();if(v)r=r.filter(x=>JSON.stringify(x).toLowerCase().includes(v));return r;}
+ function detail(x){if(!x){$('ddetail').innerHTML='';return;}
+ const grid=D.scope==='owners'?[['Assessed',shortUsd(x.assessed_total)],['SqFt',(x.sqft||0).toLocaleString()],['Built',x.year_built||'—'],['AIN',x.ain]]:D.scope==='firms'?[['Agents',(x.agent_count||0).toLocaleString()],['HQ',loc(x)||'—'],['License',x.license_no||'—'],['Source',x.source||'—']]:[['License',x.license_no||'—'],['Type',x.license_type||'—'],['Firm',x.firm_name||'—'],['City',x.city||'—']];
+ $('ddetail').innerHTML=`<div class="k">${esc(D.scope==='owners'?(x.type_label||'Asset'):D.scope==='firms'?'Brokerage':(x.license_type||'Licensee'))}</div><h2>${esc(nm(x))}</h2><div class="meta">${esc(D.scope==='owners'?[x.address,x.city].filter(Boolean).join(', '):(sub(D.scope,x)+' · '+(loc(x)||'')))}</div><div class="acts">${actions(D.scope,x)}</div><div class="grid">${grid.map(([k,v])=>`<div class="cell"><div class="kk">${k}</div><div class="vv">${esc(v)}</div></div>`).join('')}</div>`;}
+ function draw(){const r=list();$('drows').innerHTML=r.map((x,i)=>`<div class="row${i===D.selDir?' sel':''}" data-i="${i}"><div class="nm">${esc(nm(x))}</div><div class="f">${esc(sub(D.scope,x))}</div></div>`).join('');
+ $('drows').querySelectorAll('.row').forEach(row=>row.onclick=()=>{D.selDir=+row.dataset.i;$('drows').querySelectorAll('.row').forEach(x=>x.classList.remove('sel'));row.classList.add('sel');detail(r[D.selDir]);});detail(r[D.selDir]||r[0]);}
+ $('dq').oninput=()=>{D.selDir=0;draw();};draw();
+}
+// ── Map ──
+function map(){
+ const mq=D.owners.slice(0,10);
+ $('v-map').innerHTML=`<div class="mapv"><div class="map" id="mapc"><div class="g"></div></div><div class="mside" id="mside"></div></div>`;
+ mq.forEach((m,i)=>{const x=12+((i*41)%76),y=18+((i*31)%62);const p=document.createElement('div');p.className='pin'+(i===0?' sel':'');p.style.left=x+'%';p.style.top=y+'%';p.dataset.i=i;p.innerHTML=`<div class="d"></div><div class="l">${shortUsd(m.assessed_total)}</div>`;$('mapc').appendChild(p);});
+ function show(m){const ad=[m.address,m.city].filter(Boolean).join(', ');$('mside').innerHTML=`<div class="k">${esc(m.type_label||'Asset')} · ${esc(m.use_desc||'')}</div><h2>${esc(m.address||m.ain)}</h2><div style="color:#9aa4ad;margin-bottom:12px">${esc(ad)}</div><div class="acts">${actions('owners',m)}</div><div style="margin-top:16px"><div class="r"><span>Assessed</span><b>${shortUsd(m.assessed_total)}</b></div><div class="r"><span>SqFt</span><b>${(m.sqft||0).toLocaleString()}</b></div><div class="r"><span>Built</span><b>${m.year_built||'—'}</b></div><div class="r"><span>Recorded</span><b>${dstr(m.recording_date)}</b></div></div>`;}
+ if(mq[0])show(mq[0]);
+ $('mapc').querySelectorAll('.pin').forEach(p=>p.onclick=()=>{$('mapc').querySelectorAll('.pin').forEach(x=>x.classList.remove('sel'));p.classList.add('sel');show(mq[+p.dataset.i]);});
+}
+// ── Analytics ──
+function analytics(){
+ const top=D.firms.slice().sort((a,b)=>(b.agent_count||0)-(a.agent_count||0)).slice(0,9);const max=top[0]?.agent_count||1;
+ const kpis=[['CA Brokers',D.totalB.toLocaleString()],['CA Firms',D.totalF.toLocaleString()],['Top firm',(top[0]?.agent_count||0).toLocaleString()+' agents'],['Marquee assets',D.owners.length]];
+ $('v-analytics').innerHTML=`<div class="an"><div class="kpis">${kpis.map(([k,v])=>`<div class="kpi"><div class="k">${k}</div><div class="v">${v}</div></div>`).join('')}</div><div class="panel"><h3>Top brokerages by licensed agents</h3><div id="bars">${
+ top.map(f=>`<div class="barwrap"><div class="bar"><span class="lab" title="${esc(f.name)}">${esc(f.name)}</span><span class="track"><span class="fill" style="width:${Math.round((f.agent_count||0)/max*100)}%"></span></span><span class="val">${(f.agent_count||0).toLocaleString()}</span></div><div class="acts">${actions('firms',f)}</div></div>`).join('')
+ }</div></div></div>`;
+ $('bars').querySelectorAll('.barwrap').forEach(w=>w.querySelector('.bar').onclick=e=>{if(e.target.closest('a'))return;w.classList.toggle('open');});
+}
+// ── Command ──
+function command(){
+ $('v-command').innerHTML=`<div class="cmd"><div class="box"><div class="in"><span style="color:#8b939b;font-size:18px">⌘</span><input id="cq" placeholder="Search ${D.scope}…"></div><div class="results" id="cres"></div></div></div>`;
+ function draw(){let r=scopeData().slice();const v=($('cq').value||'').toLowerCase();if(v)r=r.filter(x=>JSON.stringify(x).toLowerCase().includes(v));r=r.slice(0,40);
+ $('cres').innerHTML=r.map((x,i)=>`<div class="res${i===0?' hot':''}"><div class="nm">${esc(nm(x))}</div><div class="f">${esc(sub(D.scope,x))}${loc(x)?' · '+esc(loc(x)):''}</div><div class="exp"><div class="acts">${actions(D.scope,x)}</div></div></div>`).join('')||'<div class="res"><div class="f">No matches.</div></div>';
+ $('cres').querySelectorAll('.res').forEach(el=>el.onclick=e=>{if(e.target.closest('a'))return;el.classList.toggle('open');});}
+ $('cq').oninput=draw;draw();
+}
+</script>
+</body></html>
← 35e4b442 Ship flagship homepage live — no tabs, bottom breaking bar,
·
back to Rentv 2026
·
Wire /desk to the live CA broker registry via /api/brokers + 6f8a7062 →