[object Object]

← back to Rentv 2026

Complete consulting fold: rewrite /portal/* asset paths -> /consulting/* in portal.html

11ac5376464c6d3686e164271e4a3b533c45dc49 · 2026-07-28 12:02:31 -0700 · Steve Abrams

- deal-score.js + 10 audit PNGs + slideshow link now resolve correctly under the fold
- heygen brand-film HEAD-checks now point at /consulting/videos (never generated -> graceful placeholder, as designed)
- makes the folded /consulting deliverable fully self-contained; consulting-rentv-com backend now truly redundant

TK-10013

Files touched

Diff

commit 11ac5376464c6d3686e164271e4a3b533c45dc49
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jul 28 12:02:31 2026 -0700

    Complete consulting fold: rewrite /portal/* asset paths -> /consulting/* in portal.html
    
    - deal-score.js + 10 audit PNGs + slideshow link now resolve correctly under the fold
    - heygen brand-film HEAD-checks now point at /consulting/videos (never generated -> graceful placeholder, as designed)
    - makes the folded /consulting deliverable fully self-contained; consulting-rentv-com backend now truly redundant
    
    TK-10013
---
 public/consulting/portal.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/public/consulting/portal.html b/public/consulting/portal.html
index 760122cf..234ebf27 100644
--- a/public/consulting/portal.html
+++ b/public/consulting/portal.html
@@ -9,7 +9,7 @@
 <link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.Default.css">
 <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
 <script src="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster.js"></script>
-<script src="/portal/deal-score.js"></script>
+<script src="/consulting/deal-score.js"></script>
 <style>
 :root{--bg:#0c1016;--panel:#121722;--ink:#eef1f6;--gold:#c8a15a;--line:rgba(200,161,90,.22);--dim:rgba(238,241,246,.66)}
 *{margin:0;padding:0;box-sizing:border-box}
@@ -271,7 +271,7 @@ footer{padding:56px clamp(24px,7vw,120px);border-top:1px solid var(--line);color
 
 <section id="teardown"><div class="eyebrow">07 · Page-by-Page Teardown</div><h2 class="disp">Every page, graded — with the fix.</h2><div class="accbody">
   <p class="lead2">We captured every page of rentv.com live and put each through an adversarial review. The pattern: <b>the content operation works — the website destroys it at every conversion point.</b> Headline finding: the site still runs <b>Universal Analytics (UA-148799896-1)</b>, which Google shut down in 2023 — <b>there has been no traffic data for ~3 years</b>. Every decision below is currently being made blind.</p>
-  <div class="tdp rv"><div class="tdshot"><a href="/portal/audit/index.png" target="_blank"><img src="/portal/audit/index.png" loading="lazy" alt="index screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D+</span><h3 class="disp">rentv.com (homepage)</h3></div><div class="tdl">Issues</div><ul><li>Above the fold is a flea market: a sublease.com banner owns the top-right quarter, plus two more ads and a video box — before a single headline.</li><li>Three-column table layout leaves the actual news ~45% of a fixed-width page; nav links are 11px gray text.</li><li>Every story gets identical tiny treatment — no lead story, no hierarchy, no way to scan. No bylines, no trust anchors.</li><li>"The REview" widget renders as an unexplained black box with no CTA.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Kill the top-of-fold ad wall; hero = one featured story card (large image, 24px+ headline, deck, byline).</li><li>Responsive grid: full-width hero → card feed → labeled sticky sponsor rail (max 2 ads).</li><li>Editorial tiers: lead story, top-3 row, then the feed — type scale does the talking.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/advertise.png" target="_blank"><img src="/portal/audit/advertise.png" loading="lazy" alt="advertise screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/advertise.php — the AD SALES page</h3></div><div class="tdl">Issues</div><ul><li>The page that makes the money is a wall of 12px small print — products listed with no pricing table, no media kit, no visuals of any ad unit.</li><li>Zero proof of audience: no open rates, no advertiser logos, no case study. A media buyer closes the tab in 8 seconds.</li><li>Sole CTA is "call us / raw email" — no form, no rate-card download, no buy path.</li><li>A sublease.com ad sits in the header of the page selling RENTV’s own inventory — self-defeating.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Rebuild as a media-kit landing page: 3-tier pricing table (Newsletter / eBlast / Display), audience stats in bold, "Request Media Kit" form.</li><li>Add a Current Advertisers logo row + one pull-quote (one phone call gets it).</li><li>Remove sublease.com from this page entirely.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/subscriber.png" target="_blank"><img src="/portal/audit/subscriber.png" loading="lazy" alt="subscriber screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D</span><h3 class="disp">/subscriber_info.php — the $146/yr member page</h3></div><div class="tdl">Issues</div><ul><li>A real revenue product ($146/yr Executive Subscriber) sold via a dense bullet wall — free vs. paid never cleanly separated; unanswerable in 10 seconds.</li><li>No sample issue, no preview, no testimonial, no subscriber count — buying an information product sight-unseen.</li><li>CTA is plain text: "CLICK HERE or call us." No visible checkout; beige 2005-registrar aesthetic.</li><li>The News Archive is sold as a paid benefit — but the archive page is freely accessible to everyone.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Two-column conversion page: benefits (headline + one-liner + frequency) left, price card with live Stripe checkout right — add a $15/mo option.</li><li>Publish one Sample Issue link — the single biggest conversion lift available.</li><li>Gate the archive or stop selling it; never sell what you give away.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/providers.png" target="_blank"><img src="/portal/audit/providers.png" loading="lazy" alt="providers screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/service-providers.php — the marketplace</h3></div><div class="tdl">Issues</div><ul><li>~40 categories, every single one "(0)" listings — Accounting (0), Brokerage (0), Construction (0). A directory of failure that trains visitors never to return.</li><li>No search, no cards, no map, no filters — a 1999 Yellow Pages list even if inventory existed.</li><li>"Don’t Be Left Out!" CTA asks providers to join a visibly empty room.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>SEED BEFORE RELAUNCH: scrape LA County business-license data + web research (Exa) for CRE-category firms — contractors, brokers, architects, property managers, lenders — and pre-populate 10–15 real listings per major category with phone numbers. Offer each firm its free listing to claim; they upgrade. An empty directory is not a product; a full one is. <a href="/versions/marketplace.html" target="_blank" style="color:#9fd6b0;text-decoration:underline">→ We already built the seeded demo: 62 real LA providers, live here.</a></li><li>Rebuild as a searchable card grid (name, category badge, city, phone, Contact) with geography filter.</li><li>Monetize with a Featured Listing tier — after inventory exists, never before.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/store.png" target="_blank"><img src="/portal/audit/store.png" loading="lazy" alt="store screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D-</span><h3 class="disp">/store.php — conferences/store</h3></div><div class="tdl">Issues</div><ul><li>Labeled "store," contains no product, price, or buy button — a press page wearing a store costume.</li><li>A FUTURE conference (Arizona, Oct 29 2026) is on the page with no Register button, no speakers, no price — revenue advertising that goes nowhere.</li><li>Past and future events unfiltered in one feed; sponsor logos outweigh the editorial 2:1.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Split: "Upcoming Events" above the fold (date, venue, price, Register Now) vs. "Past Coverage" archive grid.</li><li>Sell recorded sessions as an on-demand library: title, price, 90-second preview, buy button.</li><li>Rename the tab — Conferences and Store are different intents.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/archive.png" target="_blank"><img src="/portal/audit/archive.png" loading="lazy" alt="archive screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D</span><h3 class="disp">/archive.php</h3></div><div class="tdl">Issues</div><ul><li>20 bare hyperlinks with no dates, story counts, previews, or search — a filing cabinet with the labels ripped off.</li><li>Freely accessible while being sold as a paid subscriber benefit.</li><li>No orientation: what years, what geographies, how fresh — unknowable.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Full-text search + geography/content-type filters over the archive.</li><li>Each link shows recent stories + a count ("482 articles, 2019–2026").</li><li>Pick a lane: gate it as a benefit, or use it free to drive newsletter signups.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/newsletter.png" target="_blank"><img src="/portal/audit/newsletter.png" loading="lazy" alt="newsletter screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D+</span><h3 class="disp">/newsletter.php</h3></div><div class="tdl">Issues</div><ul><li>NINE fields for a free newsletter (address, zip, phone…) — Bisnow asks for one. Conversion ≈ zero.</li><li>Distorted-text homemade CAPTCHA ("rjvxk6") — broken-looking, inaccessible.</li><li>Right half of the page is empty void; no pitch, no sample, no reason to sign up — the heading is just "NEWSLETTER."</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Three fields max: Email (required), Name, Company. Delete the rest.</li><li>Invisible reCAPTCHA v3 or honeypot; kill the distorted image.</li><li>Add the pitch: "Join 50,000+ CRE professionals · twice-weekly SoCal deals · free" + a sample-issue link.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/subscribe.png" target="_blank"><img src="/portal/audit/subscribe.png" loading="lazy" alt="subscribe screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/subscribe.php — the paywall</h3></div><div class="tdl">Issues</div><ul><li>The paywall page is a cartoon dog GIF + "Hold on there sport!" + a login box. That is the entire page every non-subscriber hits.</li><li>No subscribe CTA, no path for non-members, no visible password reset — a dead end that costs conversions daily.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Replace with a real paywall intercept: what you’re missing, "$146/yr — Subscribe Now" primary button, login secondary.</li><li>Remove the dog and "sport" TODAY — before any redesign.</li><li>Wire a real password-reset flow; a locked-out subscriber is a churned subscriber.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/contact.png" target="_blank"><img src="/portal/audit/contact.png" loading="lazy" alt="contact screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ca8a04">C-</span><h3 class="disp">/contact.php</h3></div><div class="tdl">Issues</div><ul><li>Twelve fields including FAX in 2026; same broken CAPTCHA; right half of the page is empty.</li><li>No visible email fallback if the form breaks (and on a Windows-1252 site, forms break).</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Six fields: Name, Company, Email, Phone (opt), Subject dropdown, Message.</li><li>Show a direct email + phone under the form; fix the half-empty template site-wide.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/portal/audit/jobworks.png" target="_blank"><img src="/portal/audit/jobworks.png" loading="lazy" alt="jobworks screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/jobworks.php — the jobs board</h3></div><div class="tdl">Issues</div><ul><li>Opens with an "Adobe Flash Player is no longer supported" error banner — Flash died Dec 2020; this has greeted every visitor for 5+ years.</li><li>Every job category is "(0)" — the second of three marketplace pillars with zero inventory.</li><li>Bare "create a listing" link with no pricing, reach, or pitch attached.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Delete the Flash widget today; replace with static HTML.</li><li>Seed or kill: offer 10–15 subscriber firms free 90-day listings, or pull JobWorks from the nav until it has inventory.</li><li>One combined CRE Marketplace landing (live counts + featured listings + "Post a listing" CTA) instead of empty silos.</li></ul></div></div>
+  <div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/index.png" target="_blank"><img src="/consulting/audit/index.png" loading="lazy" alt="index screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D+</span><h3 class="disp">rentv.com (homepage)</h3></div><div class="tdl">Issues</div><ul><li>Above the fold is a flea market: a sublease.com banner owns the top-right quarter, plus two more ads and a video box — before a single headline.</li><li>Three-column table layout leaves the actual news ~45% of a fixed-width page; nav links are 11px gray text.</li><li>Every story gets identical tiny treatment — no lead story, no hierarchy, no way to scan. No bylines, no trust anchors.</li><li>"The REview" widget renders as an unexplained black box with no CTA.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Kill the top-of-fold ad wall; hero = one featured story card (large image, 24px+ headline, deck, byline).</li><li>Responsive grid: full-width hero → card feed → labeled sticky sponsor rail (max 2 ads).</li><li>Editorial tiers: lead story, top-3 row, then the feed — type scale does the talking.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/advertise.png" target="_blank"><img src="/consulting/audit/advertise.png" loading="lazy" alt="advertise screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/advertise.php — the AD SALES page</h3></div><div class="tdl">Issues</div><ul><li>The page that makes the money is a wall of 12px small print — products listed with no pricing table, no media kit, no visuals of any ad unit.</li><li>Zero proof of audience: no open rates, no advertiser logos, no case study. A media buyer closes the tab in 8 seconds.</li><li>Sole CTA is "call us / raw email" — no form, no rate-card download, no buy path.</li><li>A sublease.com ad sits in the header of the page selling RENTV’s own inventory — self-defeating.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Rebuild as a media-kit landing page: 3-tier pricing table (Newsletter / eBlast / Display), audience stats in bold, "Request Media Kit" form.</li><li>Add a Current Advertisers logo row + one pull-quote (one phone call gets it).</li><li>Remove sublease.com from this page entirely.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/subscriber.png" target="_blank"><img src="/consulting/audit/subscriber.png" loading="lazy" alt="subscriber screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D</span><h3 class="disp">/subscriber_info.php — the $146/yr member page</h3></div><div class="tdl">Issues</div><ul><li>A real revenue product ($146/yr Executive Subscriber) sold via a dense bullet wall — free vs. paid never cleanly separated; unanswerable in 10 seconds.</li><li>No sample issue, no preview, no testimonial, no subscriber count — buying an information product sight-unseen.</li><li>CTA is plain text: "CLICK HERE or call us." No visible checkout; beige 2005-registrar aesthetic.</li><li>The News Archive is sold as a paid benefit — but the archive page is freely accessible to everyone.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Two-column conversion page: benefits (headline + one-liner + frequency) left, price card with live Stripe checkout right — add a $15/mo option.</li><li>Publish one Sample Issue link — the single biggest conversion lift available.</li><li>Gate the archive or stop selling it; never sell what you give away.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/providers.png" target="_blank"><img src="/consulting/audit/providers.png" loading="lazy" alt="providers screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/service-providers.php — the marketplace</h3></div><div class="tdl">Issues</div><ul><li>~40 categories, every single one "(0)" listings — Accounting (0), Brokerage (0), Construction (0). A directory of failure that trains visitors never to return.</li><li>No search, no cards, no map, no filters — a 1999 Yellow Pages list even if inventory existed.</li><li>"Don’t Be Left Out!" CTA asks providers to join a visibly empty room.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>SEED BEFORE RELAUNCH: scrape LA County business-license data + web research (Exa) for CRE-category firms — contractors, brokers, architects, property managers, lenders — and pre-populate 10–15 real listings per major category with phone numbers. Offer each firm its free listing to claim; they upgrade. An empty directory is not a product; a full one is. <a href="/versions/marketplace.html" target="_blank" style="color:#9fd6b0;text-decoration:underline">→ We already built the seeded demo: 62 real LA providers, live here.</a></li><li>Rebuild as a searchable card grid (name, category badge, city, phone, Contact) with geography filter.</li><li>Monetize with a Featured Listing tier — after inventory exists, never before.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/store.png" target="_blank"><img src="/consulting/audit/store.png" loading="lazy" alt="store screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D-</span><h3 class="disp">/store.php — conferences/store</h3></div><div class="tdl">Issues</div><ul><li>Labeled "store," contains no product, price, or buy button — a press page wearing a store costume.</li><li>A FUTURE conference (Arizona, Oct 29 2026) is on the page with no Register button, no speakers, no price — revenue advertising that goes nowhere.</li><li>Past and future events unfiltered in one feed; sponsor logos outweigh the editorial 2:1.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Split: "Upcoming Events" above the fold (date, venue, price, Register Now) vs. "Past Coverage" archive grid.</li><li>Sell recorded sessions as an on-demand library: title, price, 90-second preview, buy button.</li><li>Rename the tab — Conferences and Store are different intents.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/archive.png" target="_blank"><img src="/consulting/audit/archive.png" loading="lazy" alt="archive screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D</span><h3 class="disp">/archive.php</h3></div><div class="tdl">Issues</div><ul><li>20 bare hyperlinks with no dates, story counts, previews, or search — a filing cabinet with the labels ripped off.</li><li>Freely accessible while being sold as a paid subscriber benefit.</li><li>No orientation: what years, what geographies, how fresh — unknowable.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Full-text search + geography/content-type filters over the archive.</li><li>Each link shows recent stories + a count ("482 articles, 2019–2026").</li><li>Pick a lane: gate it as a benefit, or use it free to drive newsletter signups.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/newsletter.png" target="_blank"><img src="/consulting/audit/newsletter.png" loading="lazy" alt="newsletter screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ea580c">D+</span><h3 class="disp">/newsletter.php</h3></div><div class="tdl">Issues</div><ul><li>NINE fields for a free newsletter (address, zip, phone…) — Bisnow asks for one. Conversion ≈ zero.</li><li>Distorted-text homemade CAPTCHA ("rjvxk6") — broken-looking, inaccessible.</li><li>Right half of the page is empty void; no pitch, no sample, no reason to sign up — the heading is just "NEWSLETTER."</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Three fields max: Email (required), Name, Company. Delete the rest.</li><li>Invisible reCAPTCHA v3 or honeypot; kill the distorted image.</li><li>Add the pitch: "Join 50,000+ CRE professionals · twice-weekly SoCal deals · free" + a sample-issue link.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/subscribe.png" target="_blank"><img src="/consulting/audit/subscribe.png" loading="lazy" alt="subscribe screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/subscribe.php — the paywall</h3></div><div class="tdl">Issues</div><ul><li>The paywall page is a cartoon dog GIF + "Hold on there sport!" + a login box. That is the entire page every non-subscriber hits.</li><li>No subscribe CTA, no path for non-members, no visible password reset — a dead end that costs conversions daily.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Replace with a real paywall intercept: what you’re missing, "$146/yr — Subscribe Now" primary button, login secondary.</li><li>Remove the dog and "sport" TODAY — before any redesign.</li><li>Wire a real password-reset flow; a locked-out subscriber is a churned subscriber.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/contact.png" target="_blank"><img src="/consulting/audit/contact.png" loading="lazy" alt="contact screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#ca8a04">C-</span><h3 class="disp">/contact.php</h3></div><div class="tdl">Issues</div><ul><li>Twelve fields including FAX in 2026; same broken CAPTCHA; right half of the page is empty.</li><li>No visible email fallback if the form breaks (and on a Windows-1252 site, forms break).</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Six fields: Name, Company, Email, Phone (opt), Subject dropdown, Message.</li><li>Show a direct email + phone under the form; fix the half-empty template site-wide.</li></ul></div></div><div class="tdp rv"><div class="tdshot"><a href="/consulting/audit/jobworks.png" target="_blank"><img src="/consulting/audit/jobworks.png" loading="lazy" alt="jobworks screenshot"></a><div class="tdcap">live capture · click to open</div></div><div class="tdbody"><div class="tdhead"><span class="tdgrade" style="background:#dc2626">F</span><h3 class="disp">/jobworks.php — the jobs board</h3></div><div class="tdl">Issues</div><ul><li>Opens with an "Adobe Flash Player is no longer supported" error banner — Flash died Dec 2020; this has greeted every visitor for 5+ years.</li><li>Every job category is "(0)" — the second of three marketplace pillars with zero inventory.</li><li>Bare "create a listing" link with no pricing, reach, or pitch attached.</li></ul><div class="tdl fix">The fix</div><ul class="fixul"><li>Delete the Flash widget today; replace with static HTML.</li><li>Seed or kill: offer 10–15 subscriber firms free 90-day listings, or pull JobWorks from the nav until it has inventory.</li><li>One combined CRE Marketplace landing (live counts + featured listings + "Post a listing" CTA) instead of empty silos.</li></ul></div></div>
   <p class="lead2" style="margin-top:30px"><b>Overall verdict:</b> a site that was genuinely valuable in 2005 and has received near-zero strategic investment since. News still publishes, conferences still run, and 50,000 opt-in subscribers is a real asset — but a broken Flash banner, an all-zeros marketplace, a cartoon-dog paywall and a phone-number ad page are actively destroying that asset. First fix, before any redesign: <b>install GA4 today</b> — until RENTV knows its own traffic, everything else is guesswork.</p>
 </div></section>
 
@@ -542,7 +542,7 @@ footer{padding:56px clamp(24px,7vw,120px);border-top:1px solid var(--line);color
 <section id="sources"><div class="eyebrow">15 · Sources &amp; Methodology</div><h2 class="disp">Where every number comes from — and how.</h2><div class="accbody">
   <p class="lead2">A brief is only as trustworthy as its sourcing, so here is the whole provenance map. Each row states <b>where the data came from</b> and <b>how it was produced</b> — and anything that is an estimate is labelled an estimate, never dressed up as measured analytics.</p>
   <div class="srclegend"><span class="srcb v">Client-verified</span><span class="srcb o">Observed live</span><span class="srcb r">Real dataset</span><span class="srcb d">Computed</span><span class="srcb a">Analyst view</span><span class="srcb e">Illustrative</span><span class="srcb a">Decorative</span><span class="srcb d">Generated</span></div>
-  <table><thead><tr><th>Section of the brief</th><th>Where it comes from</th><th>How it&rsquo;s produced</th><th>Provenance</th></tr></thead><tbody><tr><td><b>Portfolio, owner, team &amp; contact</b></td><td>The client's own materials — the package supplied by Daniel Ginzburg (CFO, Dandeana Corp), Jul 2026</td><td>Transcribed into <code>data/client.json</code> and rendered verbatim</td><td class="srccell"><span class="srcb v">Client-verified</span></td></tr><tr><td><b>Sublease.com market size &amp; revenue</b></td><td>"Sublease.com Business Plan &amp; Market Strategy," April 2026 (confidential, client-supplied)</td><td>Figures ($650B market, ~$5.9M Year-2 mix) lifted straight from the plan and charted</td><td class="srccell"><span class="srcb v">Client-verified</span></td></tr><tr><td><b>Website &amp; page-by-page audit</b></td><td>Live rentv.com — every page loaded and screenshotted directly</td><td>Adversarial teardown; a grade + fixes authored per page. The dead analytics tag (UA-148799896-1) was read from the live page source</td><td class="srccell"><span class="srcb o">Observed live</span></td></tr><tr><td><b>Live Deal Desk — listings &amp; map</b></td><td>Real LA-area CRE listings sampled from CRCP into <code>data/deals-sample.json</code></td><td>Deal scores computed by a transparent weighted model (<code>deal-score.js</code>): rent yield, cap rate, DSCR, financing signals</td><td class="srccell"><span class="srcb r">Real dataset</span></td></tr><tr><td><b>Deal Desk — demographics chart</b></td><td>U.S. Census median gross rent &amp; income, LA-area cities</td><td>Carried in the <code>demographics[]</code> block of deals-sample.json and charted live</td><td class="srccell"><span class="srcb r">Real dataset</span></td></tr><tr><td><b>SWOT snapshot</b></td><td>Derived from the reputation, revenue &amp; competitive reads elsewhere in this brief</td><td>A small agent (<code>swotAgent()</code>) runs four lenses over one profile so the quadrant stays consistent with the rest</td><td class="srccell"><span class="srcb d">Computed</span></td></tr><tr><td><b>Competitors · channels · timing · partners · revenue</b></td><td>Analyst strategy, benchmarked to the Bisnow / CoStar / Real Deal / Commercial Observer playbooks</td><td>Authored as consulting recommendations — industry-standard models, not scraped metrics</td><td class="srccell"><span class="srcb a">Analyst view</span></td></tr><tr><td><b>News + conference rivals (LA → West)</b></td><td>Public web research on each outlet’s news + event programming (Bisnow, Connect CRE, France Media / Western RE Business, CREJ, AZRE, LABJ, The Registry, GlobeSt, NAIOP)</td><td>Compiled Jul 2026; each outlet’s conference franchise verified from its own events pages</td><td class="srccell"><span class="srcb o">Observed live</span></td></tr><tr><td><b>Charts (reach, ROI, readership, growth)</b></td><td>Illustrative CRE-shaped figures around one real anchor — the observed LinkedIn count (818)</td><td>Estimates for shape &amp; direction only. The live site ran no analytics for ~3 years, so measured traffic does not exist to chart</td><td class="srccell"><span class="srcb e">Illustrative</span></td></tr><tr><td><b>Hero &amp; section imagery</b></td><td>Unsplash editorial stock (desaturated skyline / CRE photography)</td><td>Hotlinked, decorative only — carries no data meaning</td><td class="srccell"><span class="srcb a">Decorative</span></td></tr><tr><td><b>Brand films</b></td><td>Generated presenter videos (HeyGen) over CRE footage</td><td>Rendered to <code>/portal/videos/heygen-*.mp4</code>; appear on the page as they finish</td><td class="srccell"><span class="srcb d">Generated</span></td></tr></tbody></table>
+  <table><thead><tr><th>Section of the brief</th><th>Where it comes from</th><th>How it&rsquo;s produced</th><th>Provenance</th></tr></thead><tbody><tr><td><b>Portfolio, owner, team &amp; contact</b></td><td>The client's own materials — the package supplied by Daniel Ginzburg (CFO, Dandeana Corp), Jul 2026</td><td>Transcribed into <code>data/client.json</code> and rendered verbatim</td><td class="srccell"><span class="srcb v">Client-verified</span></td></tr><tr><td><b>Sublease.com market size &amp; revenue</b></td><td>"Sublease.com Business Plan &amp; Market Strategy," April 2026 (confidential, client-supplied)</td><td>Figures ($650B market, ~$5.9M Year-2 mix) lifted straight from the plan and charted</td><td class="srccell"><span class="srcb v">Client-verified</span></td></tr><tr><td><b>Website &amp; page-by-page audit</b></td><td>Live rentv.com — every page loaded and screenshotted directly</td><td>Adversarial teardown; a grade + fixes authored per page. The dead analytics tag (UA-148799896-1) was read from the live page source</td><td class="srccell"><span class="srcb o">Observed live</span></td></tr><tr><td><b>Live Deal Desk — listings &amp; map</b></td><td>Real LA-area CRE listings sampled from CRCP into <code>data/deals-sample.json</code></td><td>Deal scores computed by a transparent weighted model (<code>deal-score.js</code>): rent yield, cap rate, DSCR, financing signals</td><td class="srccell"><span class="srcb r">Real dataset</span></td></tr><tr><td><b>Deal Desk — demographics chart</b></td><td>U.S. Census median gross rent &amp; income, LA-area cities</td><td>Carried in the <code>demographics[]</code> block of deals-sample.json and charted live</td><td class="srccell"><span class="srcb r">Real dataset</span></td></tr><tr><td><b>SWOT snapshot</b></td><td>Derived from the reputation, revenue &amp; competitive reads elsewhere in this brief</td><td>A small agent (<code>swotAgent()</code>) runs four lenses over one profile so the quadrant stays consistent with the rest</td><td class="srccell"><span class="srcb d">Computed</span></td></tr><tr><td><b>Competitors · channels · timing · partners · revenue</b></td><td>Analyst strategy, benchmarked to the Bisnow / CoStar / Real Deal / Commercial Observer playbooks</td><td>Authored as consulting recommendations — industry-standard models, not scraped metrics</td><td class="srccell"><span class="srcb a">Analyst view</span></td></tr><tr><td><b>News + conference rivals (LA → West)</b></td><td>Public web research on each outlet’s news + event programming (Bisnow, Connect CRE, France Media / Western RE Business, CREJ, AZRE, LABJ, The Registry, GlobeSt, NAIOP)</td><td>Compiled Jul 2026; each outlet’s conference franchise verified from its own events pages</td><td class="srccell"><span class="srcb o">Observed live</span></td></tr><tr><td><b>Charts (reach, ROI, readership, growth)</b></td><td>Illustrative CRE-shaped figures around one real anchor — the observed LinkedIn count (818)</td><td>Estimates for shape &amp; direction only. The live site ran no analytics for ~3 years, so measured traffic does not exist to chart</td><td class="srccell"><span class="srcb e">Illustrative</span></td></tr><tr><td><b>Hero &amp; section imagery</b></td><td>Unsplash editorial stock (desaturated skyline / CRE photography)</td><td>Hotlinked, decorative only — carries no data meaning</td><td class="srccell"><span class="srcb a">Decorative</span></td></tr><tr><td><b>Brand films</b></td><td>Generated presenter videos (HeyGen) over CRE footage</td><td>Rendered to <code>/consulting/videos/heygen-*.mp4</code>; appear on the page as they finish</td><td class="srccell"><span class="srcb d">Generated</span></td></tr></tbody></table>
   <div class="srcnote"><div class="i">&#9881;</div><div><h4>How this document is built</h4><p>This portal is generated, not hand-typed. Client-supplied facts live in <code>data/*.json</code>; a build step (<code>build.mjs</code>) renders them into the page and redraws the charts &amp; map on every deploy — so the brief updates when the underlying data does. Nothing is invented at page-load: the charts read fixed datasets, the Deal Desk reads a real listing sample, and projections appear only where the row above is labelled <b>Illustrative</b>.</p></div></div>
 </div></section>
 
@@ -597,8 +597,8 @@ function initDesk(){
   deskMap.addLayer(cluster);
   setTimeout(function(){deskMap.invalidateSize();},300);
 }
-fetch('/portal/videos/heygen-brandfilm.mp4',{method:'HEAD'}).then(function(r){if(r.ok){var v=document.getElementById('heyfilm');v.src='/portal/videos/heygen-brandfilm.mp4';v.play();var p=document.getElementById('heyph');if(p)p.style.display='none';}}).catch(function(){});
-document.querySelectorAll('.f5').forEach(function(c){var k=c.getAttribute('data-key'),src='/portal/videos/heygen-'+k+'.mp4';fetch(src,{method:'HEAD'}).then(function(r){if(r.ok){var v=c.querySelector('video');v.src=src;v.play();var p=c.querySelector('.fph');if(p)p.style.display='none';}}).catch(function(){});});
+fetch('/consulting/videos/heygen-brandfilm.mp4',{method:'HEAD'}).then(function(r){if(r.ok){var v=document.getElementById('heyfilm');v.src='/consulting/videos/heygen-brandfilm.mp4';v.play();var p=document.getElementById('heyph');if(p)p.style.display='none';}}).catch(function(){});
+document.querySelectorAll('.f5').forEach(function(c){var k=c.getAttribute('data-key'),src='/consulting/videos/heygen-'+k+'.mp4';fetch(src,{method:'HEAD'}).then(function(r){if(r.ok){var v=c.querySelector('video');v.src=src;v.play();var p=c.querySelector('.fph');if(p)p.style.display='none';}}).catch(function(){});});
 </script>
-<a href="/portal/slideshow" style="position:fixed;bottom:20px;right:20px;z-index:60;background:#c6a765;color:#12100e;font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:11px 18px;border-radius:4px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.45)">▶ Present</a>
+<a href="/consulting/slideshow" style="position:fixed;bottom:20px;right:20px;z-index:60;background:#c6a765;color:#12100e;font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:11px 18px;border-radius:4px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.45)">▶ Present</a>
 </body></html>
\ No newline at end of file

← 9df21f11 Admin Video Library: gather all RENTV films/walkthroughs/rec  ·  back to Rentv 2026  ·  Video Library: add RENTV full-site walkthrough as lead Featu 4ae1c769 →