New product surfaces, new derived signals, new org controls. OneGoodArea gets sharper every month and this is the buyer-facing written record.
The freshest batch of shipped capability, open by default. Click to collapse, or scroll for earlier months below.
New POST /v1/query: a typed JSON plan grammar with six ops (rank_areas, get_area, score_area, find_peers, find_insights, find_forecast). Programmatic plans skip the LLM entirely; natural-language questions route through a planner that emits the same typed grammar. Every response echoes the executed plan and plan_source for full replay.
rank_areas accepts up to eight signals[] with per-signal filters and a sort_by directive. Filter ops: eq, lt, lte, gt, gte, between, plus percentile variants. AND semantics across signals via INNER JOINs. One query, one plan, many constraints.
POST /v1/peers (k-NN over normalized signal vectors, default k=20, min 3 overlapping signals). POST /v1/insights (rank LSOAs by absolute peer-relative z-score; materialized peer graph so no request-time recompute). POST /v1/forecast (linear regression over signal_timeseries with constant confidence band; default 24-month window, 12-month horizon; not a learned model).
Five new derived signals computed in-DB and immediately queryable through the query plane: property.price_change_pct_yoy (count-weighted calendar year), crime.total_12m_change_pct_yoy (rolling 12), property.median_price_change_pct_6m (6-month momentum), crime.monthly_count_trend_slope_24m (regr_slope), and peer-relative z-scores. Each documented with window length, minimum-observations guard, and confidence stamp.
92.9% on a 14-case curated corpus against claude-sonnet-4. By-op breakdown published. The harness measures the production seam (Zod schema, planner, executor) not the model.
Custom signal bundles (whitelist of signal_keys the API exposes to your keys). Saved scoring presets (recall a (base_preset, weights) tuple by id from /v1/score). Org-level methodology pinning (lock your org to a specific engine_version; stamped on X-Engine-Version for every scoring response). Per-org peer cohorts (named LSOA lists that scope /v1/peers candidates). All four are opt-in.
member (read-only on org surfaces), admin (daily ops: bundles, presets, cohorts, member CRUD, org rename), owner (chain-of-authority: methodology pinning, granting ownership, removing owners). Last-owner guard. Four typed 403 codes (admin_required, owner_required, cannot_grant_owner, cannot_remove_owner_as_admin) for client programming.
Per-org display_name and brand_url surfaced on /v1/me. Per-API-key allowed_ip_cidrs[] enforced at the gateway with full IPv4 CIDR matching. Empty array means no restriction; existing keys unchanged.
New homepage, methodology page, and docs surfaces. Geist sans plus the warm graphite + cream two-colour palette. The 29-dot Plotted mark on every page. /methodology fully rewritten to reflect the system as it actually is (14 sections, every claim grounded in code).
Reverse-chronological. Click any month to expand. Each entry tagged feature, improvement, or fix.
Every score now ships with a confidence value (0.0-1.0) plus a written reason. HIGH for primary fresh data, MEDIUM for partial fallback or older datasets, LOW for proxy fallback, NONE when data is missing. Honest about inferred-not-measured dimensions like Footfall and Rental Yield.
Every response stamps the engine version that produced it. Public methodology changelog established. Lets regulated buyers pin a version in their model risk register via the X-Engine-Version header.
First public API contract published at /openapi.json. (Note: superseded by the live-Fastify regeneration tracked separately; see /docs/api-reference for the surface map.)
Monthly re-scoring of top UK postcodes builds a trend dataset that compounds. New report_history table tracks every score with confidence and engine version stamp. (Distinct from the broader signal_timeseries moat that landed in May.)
Retry-After header on 429 responses across the report and widget endpoints. Honest rate-limit feedback for clients implementing backoff.
Every route works on a phone. Hamburger nav, off-canvas sidebar, tables that collapse sensibly, readable type down to 375px.
Skeleton loaders, error recovery, and not-found pages that match the rest of the site.
Dark-theme tokens rewired so every page reads cleanly in low light.
Reports include Ofsted ratings for nearby schools in England. Each school shown with its rating and distance. School quality factors into the Schools and Education score.
English deprivation data upgraded from IMD 2019 to IMD 2025. Now covers 33,755 neighbourhoods using the latest census boundaries.
Real sold prices from the Land Registry Price Paid API. Median price, YoY trends, property type breakdown, tenure split, and price range.
New report section with local property market data. Included on every report.
Colour-coded badges on every report showing the source and age of each data point.
Download any report as a branded PDF with Property Market and Schools data included.
Save areas from reports, view them on a dashboard grid, and export as CSV.
Programmatic SEO pages for 32 UK cities with real scored data.
Drop a single script tag on any page to show OneGoodArea scores. No API key needed.
Urban, suburban, and rural areas scored against different benchmarks for fair comparison.
Switch between dark and light mode from the navbar. Warm off-white palette in light mode. Persists across sessions.
One-click sharing to WhatsApp, LinkedIn, X, or copy link. Reports emailed automatically with score summary.
Dedicated /business page with capabilities and use cases. API tiers from £49/mo to £499/mo.
Live playground on the docs page with curated postcodes, score visualisation, and raw JSON toggle.
New /blog section with data-driven posts on UK areas, property investment, and home buying.
Searching by city name now correctly resolves to the city, not a small suburb with the same name.
Scoring functions, four intent profiles, transparent reasoning strings. Same postcode, same score, every time.
Credit-based model with checkout, billing portal, and webhook handling.
Branded verification emails with token-based flow via Resend.
Custom analytics with no third-party tools.
Radar chart, collapsible sections, score context bar, and RAG colour coding.
Bearer auth, API key management, and full documentation with code examples.
Side-by-side scoring of two locations with dimensional breakdown.
Credit-based model with comparison table and Stripe integration.
Dashboard, auth, Neon Postgres, AI-narrated reports, deployment to Vercel.
Tell us what you’d like to see next. Most items on this page started as an email.