The Prestige site — the whole story

Written for an outside reviewer. Every path and number below was read off the live server on 2026-08-04, not from memory. Live site: prestigen.letaibuildit.com · 204 pages · 110 tools · 74 git commits.

Part 1 · The story (what this is and why)

The Prestige site is a full rebuild of The Neuman Group's real-estate website, built as a private preview at prestigen.letaibuildit.com. The plan: build the whole thing next to the live site, let Dan review every page, then swap it in. The live sites (neumangroupre.com and the internal REmined tool set) are untouched.

The build ran on Dan's review notes. Dan marked up all 9 "doors" (main sections) of the site — 74 notes total, stored server-side and used as the build queue. A separate handoff then built 14 reserved tools to fill every empty tool slot. As of 2026-08-04: all 9 doors have real content, all 14 reserved tools are live, and a full site audit ran and its defects were fixed the same day (audit + fix log: site-walk-20260803.html).

The core promise: a visitor who clicks anything stays on this site, on a page that exists, fed by this site's own API — nothing leaks back to the old sites. The audit verified this: 0 off-site API calls, 0 broken pages, and the site's guard script clicks all 122 live tool buttons and confirms each opens what it promises, signed out.

Part 2 · Where everything lives

Server: Contabo VPS 209.126.85.12 (mounted as the W: drive on Dan's machine). The whole project is one git repo: /opt/apps/prestige-neuman/

ThingLocation
Web root (all 204 served pages)/opt/apps/prestige-neuman/web/
Generator scripts (make every page)/opt/apps/prestige-neuman/build_*.py (~30 scripts)
Master tool inventory — the one list of all 110 toolsbuild_tools_map.pyTOOLS (name, pitch, audience, door, gate tier, url, host)
Editing rules ("read before you touch")/opt/apps/prestige-neuman/WORKLOG.md
14-tools handoff spec/opt/apps/prestige-neuman/FOURTEEN_TOOLS_HANDOFF.md
Copy scripts (bring tools onto this site)pull_tools_local.py · pull_from_remined.py · pull_neuman_pages.py
Link fixer (retargets dead links, wired into pulls)fix_links.py
Nav swapper (old-site menus → Prestige doors)prestige_navswap.py
Guards (verify buttons and doors)check_pages_match_tools.py · check_door.py
Nginx site config/etc/nginx/sites-enabled/prestigen.letaibuildit.com
Appraisal plan generatorsbuild_appraisal_buyer.py / _seller / _investor / _partner.py
Shared front-end JS (not generated — edit direct)web/_auth.js (accounts) · web/_addrsearch.js (address search) · web/_nav.js (injected nav) · web/_shared.js

Backends (all local-only ports, proxied by nginx)

URL on the sitePortCodeJob
/api/…25062/opt/apps/bk-fl-calc/app.py + auth_api.pyAccounts (signup/login/forgot/reset), saved homes, leads, telemetry
/api/re/… and /static/…25092REmined backend (/opt/apps/remined/)The property data: listings, parcels, comps, maps
/notes/api/…25106prestige-notes serviceDan's 74 review notes — the build queue

Part 3 · How a page gets made (the pipeline)

  1. Every page is generated. No HTML file in web/ is hand-edited — each carries a "GENERATED BY" or "COPY, pulled by" comment naming its script. Edit the script, re-run it. A hand-edit would be silently wiped on the next build (WORKLOG Rule 1).
  2. Door pages (home, listings, buy, sell, invest, taxes, manage, agents, relocate, research) come from build_pages.py and the per-door branch scripts (build_invest_branch.py, build_taxes_branch.py, …).
  3. Tool pages are copies. Chain: originals at /opt/apps/remined/static/ → copied to the Neuman site (/opt/apps/neuman-site/web/, ng_ prefix) → pulled here by the pull scripts. Originals are never modified.
  4. Every copy is cleaned on the way in: fix_links.py retargets any link that would 404 here (old flat URLs → the real local page, or the Prestige door that owns the topic), and prestige_navswap.py swaps the old site's menus/branding for the Prestige nav.
  5. Guards run after builds: check_pages_match_tools.py clicks all 122 live buttons across 201 pages and fails if any button doesn't open what its label promises, signed out.

Part 4 · What we built — 5×5

1 · The shell

  1. 9 doors + home, one shared nav on every page
  2. 204 generated pages, zero hand-edits
  3. Accounts: signup, login, cross-device saved homes, on-site forgot/reset
  4. One 110-tool master list in code; every view reads it
  5. Fully self-contained: all data from this site's own proxied API

2 · Money tools (Invest — 21)

  1. Deal Finder + Find Undervalued (lowball)
  2. Money-Makers + deal / zoning / upside / migration maps
  3. Commercial deals with click-through listing cards
  4. Rent Check + rent-vs-buy calculator
  5. Cost segregation: explainer, audit-risk, run-on-a-real-address

3 · Sell + appraisal (Sell — 14)

  1. Automatic Appraisal (client-ready report, every source cited) + order page
  2. "Your Assumptions, Our Appraisal" — your numbers next to ours
  3. Home-worth lead funnel
  4. Floor Plan Studio + the floor-plan promise
  5. The Last Ten Like Yours + value explainer

4 · Buy + Listings (16)

  1. Address search → real property card (beds, baths, last sale, ask)
  2. MLS grid: 83,000+ active listings, refreshed every 2 hours
  3. Points-of-interest finder on a live map
  4. Buyer appraisal playbook (days-on-market resets, tax-after-reset, the traps)
  5. Neighborhood writeups (Boca, Coral Gables, Palm Beach, Fort Lauderdale…)

5 · Taxes + people doors (Taxes 19 · Agents 11 · Relocate 9 · Manage 7)

  1. Tax walk, plan, snapshot, target, owe-at-sale, roll-forward, 1031 start-to-finish
  2. Agents: Agent Cave, leaderboard, the 750-Hour Log, agent-vs-broker pages
  3. Relocate: movers & shippers, furnished rentals, furniture rental, for-employers
  4. Manage: the property-management door
  5. Research door + the review/notes system that drove the whole build

Gate tiers across the 110 tools: 44 open to everyone · 18 signup · 31 client · 9 agent · 8 house-only.

Part 5 · Known open items (for the reviewer — nothing hidden)