The stack
One place, five ways in.
Four sensors and a learned layer over the same 163.7 km², all resampled onto one 10 m grid.
Sentinel-2 · Sentinel-1 · Landsat 9 · TESSERA · USGS
49° N · 123° W · Vancouver
I take a scene apart until the part that matters is obvious. Lately the scene is a place: a satellite frame, a stack of sensors, a scanned map that still will not sit on the ground it claims.
CTO at SPARC Global. I co-founded DYNE and exited. I spent a year on neural architecture search at Huawei, overlapping the start of DYNE, and I studied computer engineering at UBC.

Recently added
30.2234° N · 97.6145° W · 163.7 km²
The stack
Four sensors and a learned layer over the same 163.7 km², all resampled onto one 10 m grid.
Sentinel-2 · Sentinel-1 · Landsat 9 · TESSERA · USGS


2018
Thermal
Radar
Optical




Contains modified Copernicus Sentinel data (2018, 2024). Landsat 9 courtesy of the U.S. Geological Survey. USGS Historical Topographic Map Collection. TESSERA v1.1 embeddings.
Industries
Eight read the ground from orbit, each with its own scene on public imagery. Two read documents and sales.
What you get
Every figure here is published, computed on this page, or marked as our own. Nothing is rounded up.
01 · Computed on this page
1.0%The scene above reads 163.7 km² and hands an analyst one 1.64 km² flag, with the layers that agree.
02 · Sheet registration
6.15 mPlaced on the ground from 8 control points: 2 anchors a person placed and 6 road points the pipeline found. Each is scored with itself left out of the fit.
03 · Change detection
185Shapes with a reason attached, not a heatmap to squint at.
04 · Segmentation
0.562Segment-anything on NDVI. The baseline scored 0.086 on the same field test.
Every sensor lands in one list of cases, not five feeds.
Which layers agree, what each one saw, and what it cannot see.
A cloud account, or machines that never touch the public network.
Under the hood · Atlas
Optical, radar, thermal and terrain, plus LiDAR, drone video, comms feeds, sonar and ship tracks, on one grid and one clock. A flag needs more than one source to agree, and every output keeps the source it came from.
More than one source must agreeA scanned sheet locked to the satellite frame from road junctions the pipeline finds and anchors a person places. Scored by leave-one-out, and refused when the fit is wrong.
6.15 m error, 8 control pointsTwo dates. A frozen vision transformer, a classical channel beside it, and a confidence weight between them, so a weak learned score does not win by default. CLIP names what changed.
185 polygons over 671 haA question in plain language. An agent plans the GIS steps, runs open tools and the detectors, and drafts the answer with its sources. A person confirms before anything acts.
Cloud account or air-gapped01 · Fusion
Under the hood · Atlas
01
Optical, radar, thermal and terrain, plus LiDAR, drone video, comms feeds, sonar and ship tracks, on one grid and one clock. A flag needs more than one source to agree, and every output keeps the source it came from.
More than one source must agree
02
A scanned sheet locked to the satellite frame from road junctions the pipeline finds and anchors a person places. Scored by leave-one-out, and refused when the fit is wrong.
6.15 m error, 8 control points
03
Two dates. A frozen vision transformer, a classical channel beside it, and a confidence weight between them, so a weak learned score does not win by default. CLIP names what changed.
185 polygons over 671 ha
04
A question in plain language. An agent plans the GIS steps, runs open tools and the detectors, and drafts the answer with its sources. A person confirms before anything acts.
Cloud account or air-gapped
Georeferencing · the golden run
Nine of the sixteen stages behind the headline figure, from four scanned sheets with no coordinates to the warped overlay. Lettering on the sheet is blurred.
Why it is different
The usual way, next to how this stack does it. No names, just the approach.
| Topic | Typical approach | This stack |
|---|---|---|
| Inputs | One sensor, one feed, one model. | Optical, radar, thermal, learned embeddings, and old maps on one grid. |
| Output | A heatmap and a report. | A flagged area, a confidence, the layers that agree, and a next step. |
| Old maps | Tie points clicked by hand, sheet by sheet. | Most control found from the roads, with a person's anchors locked in. The tie is dropped when the residual is too high. |
| New classes | Fixed at training time. Retrain to add one. | A zero-shot vision-language pass names what changed. |
| When unsure | Returns an answer anyway. | Fails closed and routes the case to a person. |
| Lineage | Lost at export. | Every output keeps the source it came from. |
| Deploy | The vendor's cloud. | Your cloud account, or air-gapped. |
| Who acts | The model, or nobody. | A person accepts, questions, or rejects. Every choice is on the audit trail. |
About
I co-founded DYNE and exited. I was co-founder, CTO, and a board member. For about 14 months I have been CTO at SPARC Global, where the core team is 20: 12 developers and 8 on the business side. We work with an extended team of about 50, inside the SPARC group of about 250 people, which is about 30 years old. I spent a year on neural architecture search at Huawei, and I studied computer engineering at UBC. One paper is public, arXiv 2302.10835.
The work is forward-deployed: I build next to the people who will run the system. I also lead pre-sales and solutions, a team of 8, from 2025 to the present, and have travelled on Canadian trade missions to Japan, India, Italy, the UAE and Saudi Arabia. I speak English, French and Farsi. The SPARC group holds ISO 27001, ISO 9001, ISO 20000-1, ISO 42001 and CMMI Level 5; those are the group's credentials, not personal ones.
Site access security clearance.

Skills
Each item is backed by shipped work, the paper or the record. Methods tried only in small experiments stay on the research cards, not here.
Next stage
Each number is what moved that work to its next stage. Colour, bar weight and the label give its size.
Foundation
20 peopleSPARC Global's core team: 12 developers and 8 business. We work with an extended team of about 50, in a SPARC group of about 250 people and about 30 years old. CTO for about 14 months.
SPARC Global
Category-leading
6.15 mError on a scanned sheet, scored by leave-one-out, from 8 control points. The fit is refused when it is wrong.
Major milestone
ExitedCo-founded DYNE, took it to $2M ARR and 1,000+ locations, co-sold it through a cloud marketplace at a 10 to 20% margin, and exited.
Strong traction
+500%Marketing traffic lift at DYNE. Demand forecasting on the same platform held 95%+ over 90 days.
Major milestone
0.917Spearman, transferable NAS predictor, SIAM SDM 2023. Co-author.
Strong traction
R² 0.877Compliance forecaster, internal test set.
Strong traction
18 / 18El Niño clusters, against 0 / 18 for satellite alone. One backtest.
DYNE · May 2020 to Jun 2025
A growth system for restaurants and retail. It read sales, inventory, foot traffic, and what was happening outside the door, then proposed demand, price, staffing, and the campaign.




Shipped
A maritime watch, the Atlas engine, crop and mine monitoring, bid drafting, and DYNE. Open the galleries
Partnerships and go-to-market
Product is half of it. The other half is distribution: who already sells to the buyer, how fast the product plugs into them, and how a pilot becomes a contract.
01
Cloud marketplaces and co-sell programmes, software vendors, local business-development partners in a new country, government innovation programmes.
02
At DYNE that meant 45+ integrations. At SPARC it means one platform on shared engines, so a new vertical is a preset, not a new build.
03
A pilot, then a paid second phase, then a subscription. A paid crop-intelligence pilot for a US grower became a signed phase 2 in October 2026.
DYNE · co-founder and CTO
Strong traction
+500%marketing traffic lift, the product proof that opened growth
Strong traction
95%+demand forecast accuracy over 90 days, the model restaurants ran
Strong traction
45+integrations, each one also a sales channel
Major milestone
10 to 20%margin on a five-year co-sell marketplace listing
Major milestone
$2M ARRand 1,000+ live locations, then exited
A five-year co-sell partnership with Microsoft: a marketplace listing, its top startup programme tier, and a joint showcase at a major retail trade show in 2025. DYNE ranked first in Canada and first in restaurant tech among its top 100 global startup partners.
Every integration was also a sales channel, and a new one shipped in 2 to 5 days, down from two months. Partners listed DYNE in their marketplaces and sold it to their merchants. They also changed their APIs without warning, so every partner API was regression-tested daily.
SPARC Global · CTO
Foundation
20 peoplecore team: 12 developers and 8 business, with an extended team of about 50, in a group of about 250 people and about 30 years old; CTO for about 14 months
Foundation
1 platformof shared engines, so a new vertical is a preset, not a new build
Category-leading
6.15 mgeoreferencing, with a gate that refuses a bad fit
Major milestone
3Canadian enterprises buy the tender engine we built for ourselves, at 95% lower drafting cost
The tender engine began as an internal tool for writing bids. It now writes about a dozen a week for us, a 92-page proposal in 154 seconds, and is sold to three Canadian enterprises. At one consultancy, bid decisions come 2.5 times faster with 60 to 75% less preparation.
Around it: go and no-go gates for national and allied defence and space innovation programmes, each with a named owner.
Mexico · the precedent
MOUs with a government-linked institution and an agricultural network of about 400 farming associations. A phase 1 proposal, then a pilot, then conversion to a subscription.
Brazil · the copy
Four independent local operators from agribusiness, trade negotiation and agricultural policy are the business-development and relationship layer. SPARC is the technology provider and the client pays SPARC directly; partners earn a referral fee or revenue share under one multi-party MOU. Targets: bank and crop-insurance portfolios, co-ops and very large farms.
Trade missions
The group holds 14 MOUs from Canadian trade missions. I have gone as a delegate to Japan, India, Italy, Brazil, Mexico, the UAE and Saudi Arabia.
Work
2025 to now
Chief technology officer
I turned a services firm toward products. Atlas is built. It ships segmentation, change detection with a zero-shot vision-language pass, anomaly detection, and automatic georeferencing. An agent on the same stack can use the map.
SPARC Global is the Canadian entity of the SPARC group, which has about 250 people and is about 30 years old. Its core team is 20, 12 developers and 8 on the business side, working with an extended team of about 50. I have been its CTO for about 14 months. The core team works across engineering, models, and GIS. The same core runs in a cloud account or on machines that never touch the public network, when the data has to stay in the building.
May 2020 to Jun 2025
Co-founder, CTO and board member
A growth system for restaurants and retail. It read sales, inventory, foot traffic, and what was happening outside the door, then proposed demand, price, staffing, and the campaign. Marketing traffic lift: 500%.
I owned the product and the engineering: the service, the web and mobile clients, and the models. Multi-tenant, on managed Kubernetes, with a document store, single sign-on, and an edge front. I was the technical owner of the SOC 2 program. We exited.
Jan 2021 to Dec 2021
Machine learning researcher
Edmonton, overlapping the start of DYNE. Neural architecture search. I worked on a predictor that reads a network as a computation graph, so it can rank a family it was not built for.
The public paper is on the Research page. Other manuscripts from that year stay off this site until I have confirmed they are public.
May 2020 to Dec 2020
Teaching assistant
Labs and office hours for undergraduate programming and software engineering. Some of the assignments I wrote were taken into the course.
2018 to 2023
BASc, Computer Engineering
GPA 4.0. Dean's list. Courses included advanced machine learning, natural language processing, artificial intelligence, software engineering, and new venture design. Payload and avionics with the student rocket team.
Writing
Posts from LinkedIn, newest first, then the two places new writing goes up.
12 posts
Speaking ·
Speaking for SPARC Global at NextGen Business Summit 2026 in New Westminster.
Read on LinkedIn (opens in a new tab)Trade missions ·
A recap of SPARC Global's Team Canada Trade Mission to Japan, and two strategic partnerships for remote sensing, ISR and trusted AI.
Read on LinkedIn (opens in a new tab)SPARC ·
A conversation with Canada's Minister of Artificial Intelligence on sovereign AI infrastructure, scaling Canadian AI companies, and GeoAI in forestry, agriculture, mining and government.
Read on LinkedIn (opens in a new tab)Trade missions ·
SPARC Global hosted the spotlight at Canada House during a prime ministerial visit, with a critical-minerals roundtable and memoranda of understanding formalized.
Read on LinkedIn (opens in a new tab)Speaking ·
A panel seat at a cybersecurity executive roundtable during a Vancouver conference on 17 October 2024.
Read on LinkedIn (opens in a new tab)DYNE ·
Vancouver Tech Journal named DYNE among 10 Vancouver startups set to grow in 2024.
Read on LinkedIn (opens in a new tab)Speaking ·
An invitation to a LinkedIn Audio Event on Canada's food safety on 8 December, as one of the speakers.
Read on LinkedIn (opens in a new tab)DYNE ·
A reshare of a foodservice industry post on DYNE's upcoming AI tools, with thanks to the people in the industry who make them possible.
Read on LinkedIn (opens in a new tab)DYNE ·
An interview on DYNE's new generative marketing and restaurant operations features, and on AI that augments people rather than replacing them.
Read on LinkedIn (opens in a new tab)DYNE ·
DYNE closed its seed round, with thanks to the team, the users and the backers.
Read on LinkedIn (opens in a new tab)DYNE ·
A CanadaVenture.news feature on 15 Canadian food and beverage startups that included DYNE, and an invitation to restaurant owners and managers to get in touch.
Read on LinkedIn (opens in a new tab)My LinkedIn profile, with the full feed, including posts not listed here.
Open LinkedIn (opens in a new tab)Letter · SPARC Global
A weekly letter from SPARC Global on GeoAI and satellite intelligence, which I write. Issue #1 is in the works.
See The ApertureFour numbers from real runs and a real paper, each with where it came from.
Open any item for what it does, the numbers, and the page that goes deeper.

Ship reports, radar, optical, air tracks and radio on one grid and one clock. Nothing goes above Advisory until two independent sources agree, and every alert opens to the evidence behind it.
Inputs
11 types, one gridRule
2 sources before Alert
The engine the products share. Change detection runs zero-shot on sites it has never seen, and scanned maps land on the satellite frame from road points the pipeline finds and anchors a person places, or are refused.
Georeferencing
6.15 m, 8 pointsChange
185 polygons, 671 ha
A new cut outside the plan, a field below its group, a burn that needs crews first. Each industry page has its own scene from real public imagery.
Crop type
0.809 accuracyFields
0.562 median IoU
Retrieval and tool use built from scratch, open models behind a tool protocol, and the source on every drafted line. A person decides to bid.
Status
In production
iOS, Android and web for the consumer side; demand, price, staffing and campaigns for the business side; SOC 2 underneath.
Marketing traffic
+500%Networks rewritten as computation graphs and learned with contrastive learning, so one predictor ranks families it was not trained on.
NAS-Bench-201
Spearman 0.917ImageNet
79.2% top-1
Built to power budgets: 5 W at the edge appliance, 0.25 W at the node. Gerbers exported; nothing fabricated.
Node life
866 days, estimatedContact · Vancouver, 49° N
Book a call or send a note. Say what you are looking at and what you need to decide; I will say what the data can and cannot answer.