A crowd-sourced repository of tech employers across Canada. Designed for both readability (README) and interactivity (Map).
| Name | Industry | Location | Remote Policy | Description |
|---|---|---|---|---|
| Clio | SaaS | Vancouver, BC | Hybrid | Cloud legal practice management software. |
| Dapper Labs | Gaming | Vancouver, BC | Remote | Blockchain-based consumer products and digital collectibles. |
| GeoComply | Fintech | Vancouver, BC | Hybrid | Geolocation compliance and fraud prevention. |
| Hootsuite | SaaS | Vancouver, BC | Hybrid | Social media management platform. |
| Indochino | Ecommerce | Vancouver, BC | Hybrid | Made-to-measure apparel ecommerce brand. |
| Later | SaaS | Vancouver, BC | Hybrid | Social media management and influencer marketing platform. |
| Semios | Cleantech | Vancouver, BC | Hybrid | Agtech platform for precision agriculture and sustainability. |
| TELUS Corporation | Telecommunications | Vancouver, BC | Hybrid | Leading communications technology company providing 5G, fiber, and digital solutions in health and agriculture. |
| Thinkific | SaaS | Vancouver, BC | Hybrid | Learning commerce platform for courses and communities. |
| Trulioo | Fintech | Vancouver, BC | Hybrid | Digital identity verification (KYC/KYB) platform. |
| Visier | AI | Vancouver, BC | Hybrid | People analytics platform for workforce insights. |
| Wealthsimple Inc. | Fintech | Toronto, ON | Hybrid | The way money should be. |
- Fork and clone this repository
- Install Python dependencies:
pip install -r requirements.txt
-
Add your company to
data/incoming.csvfollowing the CSV Specification below.- Do NOT edit
companies.csvdirectly - The script will automatically generate
id,lat, andlngfields for you
- Do NOT edit
-
Validate your entry (optional but recommended):
python scripts/add_companies.py --check
This will validate your entry without making changes.
-
Process your addition:
python scripts/add_companies.py
This script automatically:
- Generates a unique
idslug from company name + city - Looks up geocoordinates (
lat/lng) for the city - Normalizes URLs (adds
https://, strips trailing slashes) - Validates all enum fields (industry, remote_policy, province)
- Checks for duplicate entries
- Generates a unique
-
Update the README:
python scripts/generate_readme.py
-
Submit a Pull Request
When adding companies to data/incoming.csv, use the following format:
| Column Header | Data Type | Required? | Validation / Format Rule |
|---|---|---|---|
| name | string |
Yes | The official company name. |
| url | url |
Yes | Company website URL (will be normalized to https:// automatically). |
| industry | enum |
Yes | One of: SaaS, Fintech, Healthtech, Ecommerce, Agency, Gaming, AI, Cleantech, Telecommunications. |
| remote_policy | enum |
Yes | One of: Remote, Hybrid, Onsite. |
| city | string |
Yes | The physical city name. |
| province | enum |
Yes | 2-letter ISO code: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT. |
| description | string |
No | Brief company description (optional). |
| tags | string |
No | Comma-separated tags (optional). |
| hq_address | string |
No | Full headquarters address for more precise geocoding (optional). |
Auto-generated fields (do not include these in incoming.csv):
- id: Automatically generated as
slug(name)-slug(city) - lat: Automatically geocoded from city/province
- lng: Automatically geocoded from city/province