dev studio

Build
serious
infrastructure.

Custom API integrations, full-stack data-enriched applications, GIS modules, financial modeling tools, and AI interfaces. We build it and hand it off clean or co-manage it.

// endpoint preview
// GET /api/v1/sourri/subdivision-search
// Find a city or municipality by name

params {
  phrase: "Toronto",
  limit: 10
}

// response
[{
  "id": "2021A00053520005",
  "name": "Toronto, ON",
  "dguid": "2021A00053520005"
}]
api version v1
service modules 10
data sources StatCan · Canada Post · Mapbox · OpenStreetMap
stack Node.js · PostgreSQL · PostGIS · Docker · Nginx
availability open

What we build

Technical infrastructure services and data intelligence modules. Every service is an API endpoint you can call, a module you can embed, or a system we build and hand off.

Custom API Integrations

Your systems talk to each other. Third-party APIs, internal endpoints, auth flows, rate limiting, and webhook architecture designed once, maintained cleanly.

// POST /api/v1/sourri/census-api
{
  "dguid": "2021A00053520005",
  "characteristic": 1
}
REST OAuth 2.0 Webhooks Rate Limiting
learn more →
Full Stack Builds

Complex, data-enriched web applications. Not CMS. Not templates. Multi-service frontends with real data pipelines, state management, and clean handoff documentation.

// module isolation with strict import rules
modules/census/
shared/api/client.js  // ← only import
JavaScript Node.js PostgreSQL Docker
learn more →
Server Setup & Handoff

VPS configuration, environment setup, deployment pipelines, and Docker orchestration. Security and ongoing admin handled by vetted partners post-handoff.

// nginx-proxy + auto SSL
VIRTUAL_HOST: api.sourri.com
LETSENCRYPT_HOST: api.sourri.com
Docker Nginx CI/CD GHCR
learn more →
Developer Endpoints

White-label or client-facing API endpoints for statistics, GIS data, census data, and address validation. Integrate our data layer into your own product.

// GET /api/v1/sourri/characteristic-search
?phrase=median+income&limit=5
REST JSON JWT Auth White-label
learn more →
GIS & Spatial Data

Geographic data layers, parcel mapping, spatial analytics, and ecosystem overlays. Real parcels, real boundaries, real coordinate systems.

PostGIS Mapbox GeoJSON OpenStreetMap
learn more →
Address Validation

Real-time postal standardization against official Canadian databases. Your clients get accurate addresses instantly with no manual correction, no guessing.

// POST /api/v1/sourri/address/validate
{
  "confidence": 0.98,
  "canonical": "4512 Rue Saint-Denis, QC"
}
Canada Post REST JSON
learn more →
Census & Demographics

Population, income, and demographic data overlays sourced directly from Statistics Canada. Query by municipality, subdivision, or DGUID.

// StatCan SDMX REST
api.statcan.gc.ca/census.../STC_CP,DF_CSD
StatCan SDMX Census 2021
learn more →
Financial Modeling

Browser-based modules for real estate valuation, cap rate analysis, DCF, and commercial financial models. Runs in the client's browser, no backend required.

RE Valuation DCF Cap Rate Browser
learn more →
AI Chatbots

Domain-trained conversational interfaces with real data and service integrations. Not a generic wrapper rather chat-brains are trained on your data, connected to your endpoints.

LLM Real Estate RAG API-connected
learn more →
Data Services

Ongoing data enrichment and new datasets added continuously. Your product gets richer over time without you managing the data pipeline.

PostgreSQL ETL Enrichment Ongoing
learn more →
how it works

Real data.
Real endpoints.
No black boxes.

Every service we build exposes a clean REST interface. You query it, you get structured data back. Your team can read the response shape before a single line of UI is written.

For technical evaluators: the census module proxies the Statistics Canada SDMX API, transforms the SDMX-ML response into flat JSON, and caches at the subdivision level. The address validator runs against the Canada Post database with a confidence score on every result.

census endpoint
// GET /api/v1/sourri/subdivision-search?phrase=Vancouver&limit=5
// Find a municipality by name returns DGUID for follow-up queries

[{
  "id": "2021A00045915004",
  "name": "Vancouver, BC",
  "dguid": "2021A00045915004"
} // ... more
]
demographic data
// POST /api/v1/sourri/census-api
// Returns characteristic data for a subdivision

body {
  "dguid": "2021A00045915004",
  "characteristic": 37  // median household income
}

// response
{
  "label": "Median total income of household",
  "value": 84200,
  "unit": "CAD",
  "year": 2021
}
available for new projects

Ready to
build something
real?

Bring a problem, a dataset, or a half-formed idea. We'll scope it, price it clearly, and build it without the agency overhead.