Vrai-Prix iOS
The true value of your property, without the black box — in your pocket
The native iOS companion to Vrai-Prix: full estimates with P10–P90 ranges, dollar-adjusted comparables, map search, and bank-grade PDF reports — straight from the production API over 3.7M Quebec properties.
3.7M
assessment units served
745K
real sales behind estimates
11.0%
median absolute % error
P10–P90
range on every estimate
6 pages
bank-grade PDF report
3/3
end-to-end UI tests green
Overview
Vrai-Prix iOS brings Quebec's transparent property-valuation engine to the iPhone as a fully native SwiftUI app. It consumes the production API — 3,747,008 assessment units and 745,119 real sales, MdAPE 11.0% — with no embedded data: the Vrai-Prix server remains the single source of truth.
The Estimate tab pairs a debounced FTS5 address autocomplete with the complete estimate: value, P10–P90 range, A–D confidence grade, the 65% hedonic / 35% comparables fusion, a 2021→2026 price history drawn with Swift Charts, and the property's assessment-roll characteristics. Every comparable shows its dollar adjustments — market conditions, living area, age — and its adjusted price: the engine's full transparency, faithful to the website.
A MapKit tab searches by location with nearby properties and preview cards; a Manual tab estimates from municipality, type, and optional characteristics without an exact address; and a Reports tab renders the standard 3-page PDF or the 6-page bank-grade professional report in a PDFKit viewer with sharing. The app carries the site's editorial-sharp identity — paper, ink, vivid red — with embedded Space Grotesk, Inter, and JetBrains Mono.
Key Features
Address search & full estimate
Debounced FTS5 autocomplete straight to the complete estimate: value, P10–P90 range, A–D confidence grade, and the hedonic/comparables fusion.
Dollar-adjusted comparables
Every comparable displays its adjustments — market conditions, area, age — and its adjusted price. Total transparency, faithful to the engine.
Map-based search
MapKit search with nearby properties, geolocation, and preview cards carrying the 2026 estimate — one tap from pin to full valuation.
Price history in Swift Charts
The property's 2021→2026 estimated-value trajectory, drawn natively — the market's path, not just today's number.
PDF reports
Standard 3-page and professional 6-page bank-grade reports rendered by the production API, viewed in PDFKit and shared from the phone.
Editorial-sharp design
The site's identity ported natively: paper, ink, vivid red accents, hard offset shadows, uppercase display type, and mono micro-labels.
How It Works
Stay thin, stay honest
No embedded data and no local model: the app is a native window onto the production valuation engine, so phone and website never disagree.
Search, then estimate
Debounced FTS5 autocomplete resolves the address; one call returns the full estimate with range, confidence grade, comparables, and roll characteristics.
Search by map when the address is unknown
MapKit surfaces nearby properties with preview estimates; the Manual tab covers municipality + type + characteristics without an exact address.
Report like a professional
The server renders the same 3-page and 6-page PDFs as the website; the app displays them in PDFKit and hands them to the share sheet.
Prove it end to end
Three XCUITests run against the production API — search → estimate, map → pin → card → estimate, and manual estimate — with screenshots generated automatically.
Tech Stack
Platform
Apple frameworks
Backend
Highlights
- The same transparent engine as vrai-prix.com: every comparable, every dollar adjustment, every confidence interval
- 3,747,008 assessment units and 745,119 real sales behind every estimate — MdAPE 11.0%
- End-to-end UI tests run against the production API, not mocks
- The app icon is generated from the wordmark by a CoreGraphics + CoreText Swift script
- Law 25 compliance and IAAO validation figures surfaced in the About tab
- On TestFlight with automatic signing and App Store-ready metadata
Explore Vrai-Prix iOS
Quebec property valuation in your pocket — the full source is on GitHub.