What actually runs leasing, listings, and owner research — not the July logo slide, and not a product roadmap.
Tenant SMS footer is locked to John’s cell (214) 725-9424.
Megan’s Twilio number is (469) 895-3846 — from-number and verify/scam CTAs only, never the footer.
Live host: Railway charismatic-compassion · gilchrist-leasing-agent-production-927a.up.railway.app.
Website: Vercel · gilchristpropertymanagement.com.
11-stage renter path. Direct texts and calls stay on even when listing boxes are off.
| Function | Stack |
|---|---|
| Tenant SMS / MMS | Live Twilio · (469) 895-3846 · 10DLC verified |
| Phone / voice | Live ElevenLabs Conversational Agent on Twilio · not Vapi |
| SMS + scoring AI | Live Groq openai/gpt-oss-120b · Llama 3.3 retired 16 Aug |
| Session state | Live Upstash Redis |
| Lockbox + vacancy | Live Supabase + Redis · AppFolio devices.json sync |
| Tours | Live /tour/{property} · Calendly PAT poll · widget only when showing-ready |
| ID | Live Didit (ID + liveness) · Approved / Declined webhooks proven |
| Apply / lease / pay | Live AppFolio apply · Authentisign (John sends) · pay = AppFolio Connect |
| Prospect intro email | Live Gmail Apps Script HTTPS relay · Railway Hobby blocks SMTP |
| Lead log | Live Google Sheets (service account) |
| Runtime | Live Node.js / Express · CommonJS · GitHub → Railway auto-deploy |
A source texts only if that box is checked and both Railway keys are set. Keys are unset.
| Function | Stack |
|---|---|
| On / off | Boxes off /portal/channels · dual-key fail-closed |
| Guest cards | Poll 2m AppFolio CRM · Playwright session · John-desk unless box on |
| Listing email | IMAP PEEK johnmgilchrist@gmail.com · Lead Watcher is legacy |
| Sites on the box list | John-desk Homes.com · website · Zillow · Rent.com · Redfin · Trulia · HotPads · Apartments.com · Realtor.com · AffordableHousing · unlabeled AppFolio |
| Facebook / Instagram | Box off Marketplace, Page Messenger, IG DMs, Lead Ads use John’s paste when armed. Groups locked off. |
| Call number on listings | John AppFolio Vacancy Posting Contact (214) 725-9424 |
| Homes for Rent | In sync gilchristpropertymanagement.com listings follow AppFolio public inventory |
| John listing FYI email | Off He gets AppFolio mail directly. MEGAN_LISTING_JOHN_EMAIL unset |
Errors and decisions by SMS. Clock texts are off. Pipeline lives on the portal.
| Function | Stack |
|---|---|
| John alerts | SMS on errors / decisions Twilio → (214) 725-9424 · not a daily clock |
| Keywords | APPROVE · DENY · HOLD · CANCEL · COLD · MORE · LEASESENT · SIGNED · PAID · REPLY · LOCKBOX · LEAD · LIST · STATUS · HELP · POSTFB |
| Ops dashboard | /portal Waiting on You · pipeline · channels · not /dashboard.html |
| Morning digest | Email Apps Script pulls /digest/latest ~7:00am ET → John + Brock |
| QC | 8am / 4pm CT Voice locks, inventory, listing email, excellence scoreboard · SMS only on a real fail |
| Scripts | SMS library · Phone library |
Public site on Vercel. Social publish is live; Groups blast stays off.
| Function | Stack |
|---|---|
| Marketing site | Vercel GitHub gilchrist-website · not Netlify |
| Design | Canva · brand red #C0272D · navy #002566 · white |
| Facebook Page / IG posts | Graph API 9am CT listing post · SMS only on fail · Playwright for Groups composer |
| Facebook Groups | Blast off 17 groups joined as Page · John LEAD if he wants Megan |
| AppFolio session | Playwright guest cards + lockbox devices · mutex + 75s cap |
| Health | Cheap /health 25s hang watchdog SIGKILL · UptimeRobot still on Brock |
| Source control | GitHub · push to master deploys Railway |
Code is in the repo. Production is off. Do not treat this as a live outbound system.
| Function | Stack |
|---|---|
| Production switches | OFF PAUL_ENABLED=0 · SKIP_PAUL=1 · no send · no SMS · dedicated Twilio released |
| Orchestrator | Built Groq scoring + draft + objection loops · Redis ownerStore is empty (0 owners) |
| Research | Built · not ingested 11 Texas CADs · SOS / Comptroller officers · skip-trace overlay · not Apollo as the live path |
| Letters | Draft only Day 0 / 3 / 7 / 14 / 21 HTML · John’s wording · preview /paul-emails · nothing sent |
| Portal | Locked while off /portal/acquisition · add/save/contract blocked · approve/deny + email preview stay |
| HubSpot | Token missing Optional thin mirror · never the owner database |
| Email send path | Blocked Same Apps Script relay as Megan if ever armed · SendGrid is a code fallback, not the live path · no Make.com |
Twilio
ElevenLabs
Groq
Upstash
Supabase
AppFolio
Calendly
Authentisign
Railway
GitHub
Gmail
Sheets
Facebook
Instagram
Messenger
Playwright
Node.js
Express
Canva
Cursor
Zillow
Homes.com
Redfin
Realtor.com
AH.com
Website
CAD / SOS
UptimeRobotDropped from this page because they are not how production works: Llama 3.3 70b · Vapi · Netlify · Make.com · Craigslist scraper as a live finder · SendGrid as the email path · HubSpot as the owner database · DocuSign / PandaDoc (Authentisign is what John sends) · “Text TOUR” as the entry line · 2am/4pm pipeline SMS · 8am clock texts · Messenger “pending webhook” · CAD “planned Phase 2” (the join is built; Paul is off) · goal of 50 doors in six months as an operating fact.