Sam Shahsavani
Back
ZoningPal logo
ZoningPal

A zoning report engine for Toronto properties

ZoningPal turns a manual zoning research workflow into a live report product. It combines spatial data, exact by-law loading, deterministic rule checks, AI-assisted reasoning, and PDF generation into one pipeline.

17

Pages in sample report

35+

Spatial tables queried

81

Local by-law text files

90s

Typical report generation target

What It Solves

The hard part is not the PDF. It is assembling the right context.

A zoning report is only useful if the system knows which parcel, zone, overlay, exception, policy area, and by-law sections actually apply. That is where the product earns trust.

Parcel Context

Address, PIN, legal description, zone label, overlays, policy area, PMTSA/IZ status, heritage status, lot area, frontage, depth, and mapped site dimensions.

Applied Controls

Base zone rules, overlays, site-specific exceptions, height, density, setbacks, streetwall rules, lot coverage, amenity space, and official plan context.

Standards

Parking, visitor parking, accessible parking, bicycle parking, loading spaces, permitted uses, conditional uses, and explicit removals or prohibitions.

Traceability

Specific references, glossary, City of Toronto contact information, report ID, run date, and disclaimers that make the output usable as an informational brief.

Pipeline

Structured reasoning over deterministic context

The system does not ask an AI model to guess from a pile of municipal PDFs. It first builds the exact property context, then uses AI where explanation and synthesis are useful.

Inputs

Toronto address

City spatial data

Local by-law text

Pipeline Conductor

Exact context before AI reasoning

01

PostGIS

Resolve parcel, zone, overlays, exceptions, dimensions, and policy layers.

02

By-law Loader

Load only the applicable provisions, definitions, overlays, and exceptions.

03

Rights Model

Assemble development rights from exact context before explanation.

04

Rule Engine

Calculate parking, loading, bicycle, accessibility, and form controls.

05

Report Layer

Generate cited PDF output and reusable API artifacts.

Deterministic context

AI-assisted synthesis

Traceable citations

Outputs

Structured analysis

PDF zoning brief

API response

The key design decision is sequence. ZoningPal narrows the property context first, then lets AI explain and synthesize the already-assembled facts. That keeps the product closer to a regulatory workflow than a generic chat interface.

01

Spatial Extraction

PostGIS resolves the property boundary, zone, overlays, exception, official plan designation, heritage layers, parking zone, bicycle zone, policy area, and parcel dimensions.

02

Exact By-law Loading

The backend loads the relevant by-law sections from local text files: base provisions, definitions, overlays, suffixes, and Chapter 900 site-specific exceptions.

03

Rights Analysis

Claude analyzes development rights over structured context assembled by the system. It is not searching a generic document pile.

04

Deterministic Checks

Parking, loading, bicycle, accessibility, heritage, policy-area, and form-control calculations run through explicit rules and structured tables.

05

Report + API Output

The system returns structured data, generates a professional PDF, stores report artifacts, and exposes analysis endpoints for platform integration.

Architecture

A product stack built around zoning accuracy

The architecture is intentionally boring in the right places: typed contracts, explicit phase outputs, spatial database queries, deterministic calculations, and traceable report generation.

Frontend

React / TypeScript

Address search

Interactive zoning map

Account and credits flow

Saved reports

Backend

Node / Express

Pipeline conductor

Retry and artifact tracking

Zod contracts

Shared data dictionary

Data

PostgreSQL / PostGIS

Supabase Auth + Storage

City spatial data

Local by-law text files

Structured JSON rule tables

Outputs

Claude / OpenAI reasoning

Stripe report purchases

Puppeteer / Handlebars PDF

Signed report URLs

API integration path

Product Boundary

Not an AI chatbot for zoning

A generic chatbot can sound confident while missing the exact overlay, exception, parking zone, or policy-area modification that changes the answer. That is not enough for zoning.

The Actual System

AI after the facts are assembled

ZoningPal first resolves the parcel and loads the exact applicable rules. AI helps synthesize development rights and explanations after deterministic context has been assembled.

Adoption

Live report flow, integration, and public demos

ZoningPal shipped as a paid report flow, was integrated into Bloom Hub through the API, and was presented publicly through AI Tinkerers Toronto and Innovate Toronto.

Live report flow

Users can purchase credits, run a property analysis, and receive a generated PDF report.

Platform integration

Bloom Hub uses ZoningPal as its zoning-analysis layer through the same API model.

Public validation

Presented at AI Tinkerers Toronto in Shopify’s Toronto office, and later at Innovate Toronto.

Audience at the ZoningPal presentation during AI Tinkerers Toronto in Shopify Toronto
ZoningPal presented publicly at AI Tinkerers Toronto in Shopify’s Toronto office.
ZoningPal live demo on screen during the AI Tinkerers Toronto presentation
Live product demo showing the zoning map and analysis interface during the presentation.
Close-up of ZoningPal report output during the AI Tinkerers Toronto presentation
Report output walkthrough: parcel context, zoning status, and development metrics in the generated brief.
Sam presenting the ZoningPal title slide at AI Tinkerers Toronto
Title slide and presenter shot from the public ZoningPal presentation.
ZoningPal thank-you slide with QR code at AI Tinkerers Toronto
Closing slide with a direct product call-to-action and QR code for attendees.
Sample Output

A generated informational zoning brief

The sample report pulls the product together end to end: parcel context, governing controls, standards, permitted uses, form controls, references, glossary, and disclaimer.

Loading...