🛠️ Hosting & deployment
What it does
Pulls every reviewed lead from Zoho + refreshes John's notes. The dashboard already auto-syncs on page load and every 15 min — this is just a manual override.
Endpoint
POST /api/zoho/sync?incremental=false&fetch_notes_force=true
Check Zoho for new leads
Dashboard
app.sevalla.com
App
prime-property-valuation-tool · London (europe-west2) · 1 GB RAM
Build
Auto-deploys on every push to main · ~3 min
Logs
Web box → View logs (or download CSV)
Repo
thejfdesign/prime-property-valuation-tool
Default branch
main (every push auto-deploys to Sevalla)
Workflow
Local edit → git push → Sevalla rebuilds in ~3 min
Why
Sales team leaves notes on each lead about where the AI got things wrong/right. Export bundles every note with the full lead + AI context attached so the model can analyse end-to-end.
How to use
Click button → JSON downloads → drop the file path into the chat → I tighten the prompt based on patterns.
Endpoint
GET /api/feedback/export
Export feedback (JSON)
🟢 Live — actively used
Manage account
console.anthropic.com
Why we use it
Generates the John Henry-style valuation summary, structured fields, and reads Street View + satellite images via vision.
Where in app
backend/pipeline/claude_llm.py
Cost
~£0.98 per valuation (with prompt caching)
CRM
crm.zoho.com
API Console (manage Self Client)
api-console.zoho.com
Why we use it
Pulls John's verdicts (BMH_Value field) on Leads. Each pull becomes a side-by-side comparison row in the Comparisons dashboard.
Where in app
backend/sources/zoho.py · POST /api/zoho/sync
Auth
OAuth Self Client → refresh token in .env (long-lived)
Cost
Existing CRM subscription
Manage credentials
console.cloud.google.com/apis/credentials
Why we use it
Street View frontage photo (current + historical), satellite plot view (extensions, solar panels, A-road proximity), Places API for nearby commercial detection.
Where in app
backend/sources/google_maps.py
APIs enabled
Street View Static · Maps Static · Places
Cost
Free at our volume (~28k requests/month free tier)
To-do at launch
Restrict key to https://*.yourdomain.co.uk/* referrer + lock to those 3 APIs only
EIG Property Auctions Live
UK auction history
Login
eigpropertyauctions.co.uk
Account email
[email protected]
Account manager
David Sandeman · 01737 232289
Why we use it
Has this address ever been to auction? Failed auction = hard ceiling rule from John's brief.
Where in app
backend/sources/eig.py (Playwright authenticated scraper, session-cached)
Subscription
Active until 1 Feb 2027
Login / API token
epc.opendatacommunities.org
Account email
[email protected]
Why we use it
Construction type (mid/end-terrace/semi/detached/flat), tenure, age band, floor area in m². Authoritative for property type — AI cross-checks visual.
Where in app
backend/sources/epc.py
Cost
Free
⚠️ Migration needed
Site retiring May 2026 — migrate to Get energy performance of buildings data service before then
HM Land Registry Live
Confirmed sold prices
Data portal
landregistry.data.gov.uk
Why we use it
Most authoritative source for UK sold prices. Pulled per postcode for last 3 years to anchor AI valuation.
Where in app
backend/sources/land_registry.py (SPARQL endpoint)
Cost
Free · no account needed
Rightmove Live
Live listings + photos
Site
rightmove.co.uk
Why we use it
Live listing for the address — asking price, time on market, photos (interior/exterior).
Where in app
backend/sources/rightmove.py (Playwright self-built scraper)
Cost
Free · no account
Note
Public-page scraping — may need patching if Rightmove redesigns
Postcodes.io Live
Geocoding
API docs
postcodes.io
Why we use it
UK postcode → lat/long for Google Maps queries; admin district + region for context.
Where in app
backend/sources/postcodes_io.py
Cost
Free · no account · community-funded
Login + usage
propertydata.co.uk usage
Why we use it
Independent automated valuation as a third-opinion sanity check against our comp-driven figure. AI cites it but does not anchor to it.
Where in app
backend/sources/propertydata.py · /valuation-sale endpoint
Cost
1 credit per call · cached locally for 30 days · trial 500 credits / 14 days · then £28/mo + VAT
⚪ Pending — on the roadmap
Kinsta Application Hosting Pending
Production deployment
Login
my.kinsta.com
Why we'll use it
Host the Python + Playwright app behind public HTTPS so Zoho can webhook into it. Same vendor as the WordPress sites.
Cost
$7/month
Status
Not yet deployed — Dockerfile to be built when ready
Sign up
sprift.com
Why we might use it
Planning, flood, broadband, schools, environmental — broader DD beyond pure valuation.
Cost
£30–50 per report or subscription
Decision
Useful for non-standard / flood-zone deals only
Zoopla Skipped
Reference only
Site
zoopla.co.uk
Why we're skipping
Brief states "reference only, NOT used for calculation". Land Registry already covers sold prices. Adding for one number isn't worth the build cost.
🔐 Credentials checklist
Stored as What it is Action when launching
ANTHROPIC_API_KEY
Claude API key
Rotate soon
EPC_API_KEY + EPC_EMAIL
EPC HTTP Basic auth
Migrate to new gov service before May 2026
GOOGLE_STREETVIEW_API_KEY + GOOGLE_MAPS_API_KEY
Google Maps API key
Restrict to launch domain + lock to 3 APIs
EIG_USERNAME + EIG_PASSWORD
EIG login credentials
Rotate password soon
ZOHO_CLIENT_ID + ZOHO_CLIENT_SECRET + ZOHO_REFRESH_TOKEN
Zoho OAuth Self Client
Refresh token never expires unless revoked
All credentials live in /Users/jfdesign/PRIME PROPERTY/AI Prime/jh-valuation/.env — gitignored, never committed.
📖 John Henry's shorthand glossary
Codes the AI knows when reading or writing John's notes. Edit any row inline — the AI picks up changes on the next run. Confidence flags low-confidence entries that need verification.
+ Add row
Save changes
Code
Meaning
Category
Confidence
Notes
Loading…