contact@ryanspice.com
Océan au coucher du soleil

Scène et animation

Océan au coucher du soleil · thème : par défaut · #3ECFA2

Cliquez ou touchez l’eau pour tirer. Essayez d’atteindre le petit personnage.

Clavier : placez le focus sur l’eau, puis appuyez sur Entrée ou Espace.

EN

$ whoami

Ryan Spice-Finnie

Développeur logiciel sénior — développement frontal, plateformes et full-stack

Je modernise des applications web en production et crée des systèmes frontaux partagés, en prenant en charge l’accessibilité, l’authentification, les API et la livraison.

Expérience en entreprise chez AutoTrader, ADESA, Ontario Cannabis Store et Manulife. Développement actuel de produits et de solutions clientes chez Canopy Digital.

expérience
Plus de dix ans dans les produits d’entreprise, le commerce réglementé, la modernisation et les projets clients
actuellement
poursuite des activités chez canopy digital · sveltekit · azure et cloudflare · développement assisté par ia
ouvert aux postes en
développement frontal et plateformes senior ou staff · full-stack senior · leadership technique pratique
région
ontario, canada — hybride à toronto · télétravail au canada
Code et produits SvelteKit PHP EFSDB Fusion
expérience technique entreprise · modernisation · commerce · ia

architecture, modernisation et réalisation concrète

fondations frontales partagées chez ADESA, modernisation Angular chez AutoTrader et Pizza 73, commerce accessible chez OCS, et projets clients et outils d’IA actuels chez Canopy Digital.

W-01

plateformes frontales et leadership technique

openlane / adesa · 2018–2019

Chez ADESA, j’ai pris en charge les fondations frontales partagées; l’architecture résultante a été adoptée par plusieurs équipes produit.

Interface partagéeContrats versionnésÉquipes produit
Détails
01 / fondations partagées

Une plateforme. Plusieurs équipes produit.

Architecture représentative
Motifs d’interfaceLangage d’interaction partagé
Composants et jetonsFondations d’interface réutilisables
Compilation et mise en productionPratiques de versionnement et de livraison
CONTRATLimites d’intégration versionnées
APIiframe / postMessageContrats de livraison
Équipe produit AAdopte les fondations partagées
Équipe produit BAdopte les fondations partagées
Équipe produit CAdopte les fondations partagées
fig.02 — Représentation du rôle chez ADESA. A, B et C sont des étiquettes illustratives, et non un nombre de produits. Le code de l’employeur et les schémas internes ne sont pas publiés.
période
févr. 2018 – août 2019
rôle
développeur logiciel sénior — plateforme d’interface
contexte
openlane / adesa · marché électronique d’entreprise
priorités
fondations d’interface partagées · limites d’intégration · gouvernance du déploiement · mentorat
éléments probants
architecture représentative; détails d’implémentation propriétaires omis

Chez ADESA, j’ai dirigé le rendu côté serveur d’une solution à micro-frontaux et créé plusieurs modèles de base frontaux. J’ai pris en charge une architecture frontale modulaire Webpack adoptée par d’autres équipes et analysé par rétro-ingénierie le flux OAuth Java existant afin d’implémenter la connexion frontale avec le système dorsal en place.

Le travail couvrait Vue, Preact, React, Angular et les Web Components natifs dans un environnement hébergé sur AWS. J’ai présenté l’architecture, esquissé des approches d’implémentation et travaillé avec les chaînes de livraison Mocha, Chai, Karma et Jenkins.

W-02

moderniser des systèmes en production

2023–2024

Deux modernisations distinctes en production : j’ai mis à niveau Pizza 73 et dirigé le rendu côté serveur (SSR) et la livraison prérendue de la page d’accueil d’AutoTrader, dans les limites des systèmes et des mises en production existants.

Pizza 73Angular 8 17
AutoTraderSSR prérendu
Détails
02 / modernisation maîtrisée

Deux mandats. Des limites de livraison claires.

2023–2024
A
Pizza Pizza Limited — application Pizza 73

novembre–décembre 2023

Angular 8Angular 17
  1. 01
    Mettre à niveau l’applicationMigration du cadriciel et rendu Ivy
  2. 02
    Stabiliser la livraisonDépendances, processus de compilation et CI
  3. 03
    Soutenir le déploiementAssurance qualité et dépannage en production
B
AutoTrader.ca

2024 · 6/m

Page d’accueil SSRLivraison Prérendu
  1. 01
    Rebâtir la page d’accueilImplémentation Angular
  2. 02
    Définir le renduRendu serveur et composants prérendus
  3. 03
    Livrer avec AzureAzure Static Web Apps
fig.03 — Mandats distincts du parcours professionnel actuel. Les étapes illustrent le travail; leur espacement ne représente ni la durée ni la performance.

APizza Pizza Limited — application Pizza 73 · nov.–déc. 2023 · spécialiste du déploiement Angular — migration en production d’Angular 8 vers 17

Bautotrader.ca · 2024 · 6/m · développeur full-stack — version préliminaire d’Angular 19, SSR et prérendu

période
2023–2024 · contrats distincts
rôle
développeur sénior sur deux mandats distincts
contexte
applications d’entreprise existantes soumises à des contraintes de production
priorités
migration progressive · limites des API · CI et dépendances · assurance qualité · soutien en production
éléments probants
chronologie et résumés des rôles du curriculum vitæ actuel

Chez Pizza Pizza Limited, j’ai mis à niveau l’application Pizza 73 d’Angular 8 à 17, en actualisant les dépendances, les processus de compilation et le rendu Ivy. Chez AutoTrader, j’ai dirigé l’implémentation de la page d’accueil avec rendu côté serveur et composants prérendus sur Azure Static Web Apps, dans un système de production existant. Ce travail comprenait une version préliminaire d’Angular 19 ainsi que les contraintes d’intégration, de mise en production, d’assurance qualité et de dépannage connexes.

Le contexte d’entreprise plus large comprenait des flux de travail fondés sur des API et des limites d’intégration; ce récit ne suppose pas que chaque détail de ces flux faisait partie du déploiement de la page d’accueil.

L’approche est progressive : établir les limites, échelonner les changements, protéger le processus de livraison et intégrer l’assurance qualité et le dépannage en production au travail de développement.

W-03

commerce, périphérie réseau et livraison full-stack

ocs 2022 · canopy 2024 → aujourd’hui

Chez Ontario Cannabis Store, j’ai pris en charge le remplacement de l’interface d’administration en React et livré séparément la recherche de la boutique Shopify en production; chez Canopy, ce travail pratique s’étend aux API, aux paiements et à l’infonuagique.

OCSAdministration React · recherche en production
Canopy DigitalAPI · paiements · infonuagique
Détails
03 / livraison full-stack

De l’interaction client à la livraison infonuagique.

Aperçu du portfolio
  1. 01
    Interface client

    Parcours produit accessibles et adaptatifs

    ReactSvelteKit
  2. 02
    Commerce

    Parcours liés aux comptes, aux produits et aux paiements

    Shopify
  3. 03
    Services applicatifs

    API et intégrations tenant compte de l’authentification

    Node / PHPREST / GraphQL
  4. 04
    Périphérie réseau et infonuagique

    Workers, services de livraison et d’hébergement

    CloudflareAzure
TRANSVERSAL
La qualité à chaque couche

La vérification accompagne la livraison.

  • Playwright
  • Jest / RTL
  • Lighthouse
  • Vérifications CI de mise en production
fig.04 — Expérience chez OCS et dans le travail indépendant; ces technologies ne figurent pas toutes dans un seul système déployé. L’ancienne démonstration Shopify n’était pas une boutique approvisionnée et ne témoigne pas de l’ensemble de la pile d’intégration.
rôle
développeur full-stack sénior · développeur principal indépendant
contexte
commerce électronique réglementé et projets produits et clients indépendants actuels
pile technique
react · typescript · shopify · node/php · cloudflare · azure · tests
démonstration
Exemple de déploiement Shopify (actuellement hors ligne)

Chez Ontario Cannabis Store, j’ai pris en charge une application d’administration React remplaçant une interface Ruby existante, en utilisant Storybook pour favoriser des interfaces cohérentes et accessibles. J’ai aussi livré la recherche de la boutique Shopify en production. Mon travail en commerce comprend également des intégrations de paiement Stripe et Moneris. J’ai déployé un site de démonstration Shopify; ce n’était pas une boutique avec stock ou inventaire et il est actuellement hors ligne.

Chez Canopy Digital, je poursuis le développement pratique de solutions SvelteKit/PHP et d’API, d’intégrations tenant compte de l’authentification, de livraisons infonuagiques, d’automatisation des mises en production, de documentation et de transfert aux parties prenantes.

Depuis 2024, j’ai déployé trois sites web sur Azure à l’aide de conteneurs et de Static Web Apps, avec un CDN et Storage. Mon travail indépendant comprend aussi Azure OAuth/MSAL, Cloudflare Workers et des intégrations Stripe et Moneris.

W-04

orchestration et vérification d’ia multimodèle

2025 → aujourd’hui

Je crée des flux de développement assistés par l’IA qui acheminent les tâches, encadrent la délégation, conservent les éléments probants et laissent l’acceptation sous le contrôle de la personne responsable.

Fugu · orchestration locale du développement assisté par l’IA · développement indépendant

Contrôle
Routage des fournisseurs et délégation encadrée
Éléments probants
Résultats conservés et revue indépendante
Acceptation
Vérifications déterministes et jugement du responsable
04 / topologie du système

Orchestration locale du développement assisté par l’IA

Routage des fournisseurs, délégation encadrée, collecte d’éléments probants et vérification.

Environnement local de développement
Orchestration locale du développement assisté par l’IA : délégation, éléments probants et retour des résultats Un environnement tiers sélectionné transmet une tâche aux règles et à l’implémentation Fugu de Ryan. Le plan de contrôle l’achemine vers un responsable et des agents aux limites définies. Leurs éléments probants convergent dans un paquet conservé, passent par des tests et le jugement du responsable, puis retournent à l’environnement d’origine. Le catalogue fournit l’état du routage. L’animation illustre une séquence, et non une activité en direct ou une latence; la mention d’environnements, de modèles et de recherches ne revendique pas leur création. ENVIRONNEMENTS · CLIENTS INTERCHANGEABLES Claude Codex Hermes DeepSeek / autre PLAN DE CONTRÔLE FUGU routage des fournisseurs · délégation encadrée · collecte de preuves vérification · permissions · solution de repli · classification des échecs analyse du catalogue état de disponibilité entrée des règles RESPONSABLE / SYNTHÈSE contexte délimité · responsabilité de conception modifications · affirmations finales · intégration AGENTS ENCADRÉS mandat → inspecter → décider → rendre compte permissions limitées · budgets secondaires partagés preuve A preuve B revue paquet de preuves conservé structure · tests · évaluation jugement du responsable · limite d’approbation
  1. 01 Demande de l’environnement
  2. 02 Règles et routage
  3. 03 Responsable et agents
  4. 04 Preuves et vérifications
  5. 05 Retour à l’environnement
Lire le schéma sous forme de texte

Il s’agit d’un environnement local de développement illustratif, et non d’une activité en direct. Une tâche commence dans l’un de plusieurs environnements interchangeables. Le catalogue alimente les règles Fugu; le plan de contrôle détermine le routage et transmet la tâche à un responsable et à des agents encadrés. Les éléments probants sont réunis dans un paquet conservé, vérifiés et évalués par le responsable pour acceptation avant que le résultat ne retourne, par le responsable et les règles, au même environnement d’origine.

  1. L’environnement transmet une demande délimitée.
  2. Le catalogue et les règles déterminent le chemin permis.
  3. Le responsable coordonne les agents encadrés.
  4. Les éléments probants passent par des vérifications conservées et l’acceptation du responsable.
  5. Le résultat retourne à son environnement d’origine.
fig.05 — Cycle de demande et de retour illustratif, partant chaque fois d’un environnement choisi au hasard. La durée ne mesure pas la latence; l’inventaire des modèles change. Les fonctions publiques de Fusion sont distinctes de cet environnement local.
règles de fonctionnement derrière le schéma

La disponibilité des modèles et fournisseurs relève des règles, et non d’une logique de tâche codée en dur. L’analyse du catalogue détecte les changements et les règles peuvent désactiver une voie en consignant la raison. Les comptes rendus des agents ne suffisent jamais comme preuve : les paquets et artéfacts sont examinés, les échecs classés et les affirmations publiques restent sous la responsabilité du responsable ou de l’opérateur. L’accord entre familles de modèles est un indice utile, mais demeure soumis aux mêmes contrôles de structure et de vérification.

TRINITY: An Evolved LLM Coordinator · Learning to Orchestrate Agents in Natural Language with the Conductor · Sakana Fugu Technical Report

rôle, implémentation et éléments probants
rôle
conception et implémentation — orchestration, règles, vérification
systèmes
fugu · fusion · environnements de développement locaux et personnalisés
plan de contrôle
règles des voies · routage des fournisseurs · repli · rotation du catalogue · portée limitée des outils
vérification
paquets de preuves · revue entre familles · contrôles de structure et de tests · approbation de l’opérateur
produit public connexe
canopydigital.ca/fusion

Je conçois et implémente des environnements locaux de développement assisté par l’IA qui acheminent des tâches délimitées entre environnements et fournisseurs, appliquent des budgets et des permissions et conservent les résultats pour revue. Les règles rendent explicites la disponibilité des fournisseurs et les choix de repli.

Le responsable principal prend en charge l’intégration et l’acceptation. Les agents reçoivent des mandats délimités; les agents autorisés disposant d’un courtier peuvent déléguer dans les limites partagées de profondeur, de tâches, de concurrence et de durée. Les paquets en lecture seule le restent. Une revue indépendante éclaire le jugement du responsable, tandis que des vérifications déterministes établissent l’acceptation plutôt que le nombre de votes des modèles.

Le journal de création de l’environnement, rédigé à partir de l’expérience directe explique l’implémentation et le processus de revue. Le schéma est illustratif; il ne s’agit ni d’un moniteur de fournisseurs en direct ni d’un banc d’essai.

Canopy Digital Fusion est l’espace de travail public. Ces environnements locaux orientent son développement et son évaluation; leurs règles complètes d’orchestration ne constituent pas une affirmation sur les fonctions déployées dans le produit public. Une propriété canadienne n’établit pas à elle seule que les modèles ou les données sont hébergés au Canada.

parcours 2014 → aujourd’hui

expérience choisie dans les produits, plateformes et équipes

un aperçu du parcours fondé sur la réalisation : architecture frontale partagée, produits accessibles, authentification, développement mobile et travail client actuel. Le CV présente l’ensemble des responsabilités et leur contexte technique.

2024 · 08 → aujourd’hui

consultant indépendant / développeur principal · canopy digital

sites web et applications clients avec SvelteKit, PHP et des API. Depuis 2024, déploiement de trois sites web sur Azure avec conteneurs, Static Web Apps, CDN et Storage; les projets actuels comprennent l’authentification, les paiements et des environnements d’IA avec intégrations MCP et API.

indépendant

2024 · 6/m

développeur full-stack · autotrader.ca

modernisation et rendu côté serveur de la page d’accueil avec une version préliminaire d’Angular 19, le prérendu et Azure Static Web Apps, aux côtés d’Angular 8/9 existant dans un environnement .NET, en tenant compte des intégrations, des contraintes de livraison et de la vérification en production.

mandat

2023 · 11–12

spécialiste du déploiement angular · Pizza Pizza Limited — application Pizza 73

migration d’angular 8 à 17, stabilisation des dépendances et de la CI, et déploiement maîtrisé en production.

mandat

2022 · 03–10

développeur full-stack sénior · ontario cannabis store

prise en charge d’une application d’administration React remplaçant une interface Ruby existante, avec Storybook pour favoriser des interfaces cohérentes et accessibles; livraison également de la recherche de la boutique Shopify en production.

mandat

2020 · 06 → 2021 · 03

développeur full-stack sénior · manulife

connexion des clients du secteur Voyage avec ForgeRock/OpenID et Passport.js dans un environnement AEM; composants React et Storybook accessibles, avec NestJS et Swagger.

mandat

2019 · 08–11

développeur full-stack sénior · Nobul

collaboration directe avec le directeur technique sur les plans de développement et livraison de fonctions de saisie semi-automatique et de suivi client avec React et GraphQL, soutenues par Google Cloud Functions et testées avec Jest.

employeur

2018 · 02 → 2019 · 08

développeur UX sénior → développeur logiciel sénior · ADESA

direction du SSR et de modèles de base réutilisables pour micro-frontaux adoptés par plusieurs équipes, rétro-ingénierie du flux Java OAuth existant pour la connexion frontale et travail avec Vue, Preact, React, Angular et les Web Components natifs.

employeur

2016 · 11 → 2018 · 02

développeur frontal / chef d’équipe · indegene

participation à l’embauche et à la direction de jusqu’à six développeurs livrant des applications Angular/Ionic pour Android et iOS, avec WebRTC et synchronisation hors ligne. Collaboration avec l’équipe dorsale dans un environnement Microsoft Azure et .NET existant, avec Salesforce et Jira.

employeur

2014 → 2016

expérience technique antérieure · Goods and Services · FutureVault · LM Staffing

sites clients Drupal et configurateur de produits à couches d’images; interfaces React/Flux avec services PHP/MySQL et Java Spring; analytique et recherche avec Elasticsearch, PHP et SQL.

antérieur
approche cinq habitudes liées au travail en production

ma façon de travailler

le fil conducteur de mon travail frontal, de plateforme, full-stack et en IA est une ingénierie des systèmes pratique : comprendre l’existant, définir les limites, livrer progressivement et améliorer la vérification pour la suite.

  1. comprendre le système avant d’y toucher.

    Chez AutoTrader comme pour le déploiement d’Angular 8 à 17, il a fallu cartographier le comportement existant, les limites des API, les contraintes de livraison et les risques de régression avant d’apporter le changement visible.

  2. choisir des limites qui survivent au cadriciel.

    Chez Openlane/ADESA, les fondations d’interface partagées et les contrats d’intégration comptaient davantage que le choix d’Angular, React, Preact ou Vue pour un produit donné.

  3. l’accessibilité et la qualité du produit relèvent de l’architecture.

    Chez OCS et Manulife, puis dans les projets clients, les normes AODA/WCAG, le balisage sémantique, le fonctionnement au clavier, Storybook et les tests de régression faisaient partie de la livraison courante plutôt que d’une vérification finale de conformité.

  4. vérifier avant de faire confiance.

    Playwright, Jest/RTL, Lighthouse, les contrôles CI et les étapes de revue et d’évaluation de l’IA visent le même but : appuyer un changement plausible par des preuves.

  5. diriger en rendant le travail plus facile à comprendre.

    Chez ADESA, les présentations d’architecture et les fondations partagées ont aidé d’autres équipes à adopter la plateforme; chez Indegene, l’embauche et la direction de développeurs ont soutenu la livraison mobile hybride. Les notes d’architecture, le mentorat, la communication avec les parties prenantes et les courts comptes rendus de décision font toujours partie de la livraison.

discuter d’un projet

systèmes actuels / indépendants

développement indépendant
PixelBoats

développement indépendant de jeux dans le navigateur avec Canvas, WebGL, Three.js et PixiJS 8; un terrain pour le rendu, l’architecture d’état et l’optimisation des performances, fondé sur ma formation en développement de jeux en C++ et en gestion de projet.

Fugu / Fusion

le système d’orchestration et de vérification présenté en W-04; le contexte public de Fusion se trouve à canopydigital.ca/fusion.

Azure / Cloudflare

déploiements pratiques sur Azure depuis 2024, ainsi que Cloudflare Workers et intégrations d’API. Les essais de déploiement Shopify sont distincts du travail client en production.

sites et produits clientssites récents · interfaces publiques

sélection de sites et de produits clients

sites publics et produits de ma pratique actuelle : soins de santé, services locaux, design et espace de travail Canopy Digital Fusion. Chaque carte mène au site disponible.

articles versions canoniques sur un site externe

articles choisis

journaux de création et décisions techniques sur la modernisation, les plateformes, les outils assistés par l’IA et les systèmes de navigateur. Les versions canoniques sont publiées sur blog.ryanspice.com; les articles sont en anglais.

tous les articles — blog.ryanspice.com

politique des liens. deux articles techniques choisis et la plus récente publication, avec titres et dates provenant du fil RSS du blogue. Un instantané enregistré demeure accessible si le fil est inaccessible.

logiciels et outils réalisations indépendantes

des outils pour le travail lui-même

Des logiciels que je crée pour le design, la recherche, les médias et les tâches quotidiennes de développement.

LE MANUEL · STRUCTURE. CLARTÉ. CONTRÔLE.

Prompt Operations Manual

Un guide pratique pour transformer des requêtes ponctuelles en flux de travail IA réutilisables, en délégation plus claire et en résultats plus cohérents.

découvrir le manuel
curriculum vitae mis à jour le 2026-09-08

parcours professionnel et expérience technique

le CV réunit un profil professionnel et le parcours complet. Le résumé plus court met en valeur les projets récents, l’architecture partagée et le leadership technique. Tous les documents ci-dessous sont en anglais.

Ryan Spice-Finnie · Développeur logiciel sénior

Plus de dix ans en architecture frontale, livraison full-stack, modernisation, accessibilité, plateformes et infonuagique, leadership technique et orchestration actuelle d’IA multimodèle.

React / Node Angular / AODA SvelteKit API / Authentification Architecture de plateforme IA appliquée

Également ouvert aux possibilités dans le secteur public

Gouvernement de l’Ontario Gouvernement du Canada Flextrack
voir le CV complet (anglais) télécharger le CV complet en PDF (anglais) voir le résumé court en HTML (anglais) télécharger le résumé court en PDF (anglais) résumé Flextrack en PDF (anglais) Mis à jour en septembre 2026 · CV complet : 4 pages · résumé court : 2 pages · résumé Flextrack : 4 pages. Tous les documents sont en anglais. Des versions HTML accessibles sont proposées; les PDF contiennent du texte sélectionnable et des liens de contact cliquables.
contact aucun formulaire · analytique facultative

le courriel est le moyen le plus rapide

pour un poste senior ou staff en développement frontal et plateformes, un poste full-stack senior ou un rôle de leadership technique pratique, le courriel est le moyen le plus rapide.

github
github.com/ryanspice
linkedin
linkedin.com/in/ryan-spice-finnie-510a295b
emplacement
ontario, canada — hybride à toronto · télétravail au canada
réponse
dès que possible

services-conseils

pour les mandats de réalisation et de modernisation, mon studio est canopy digital.

confidentialité. aucun formulaire de contact. Google Analytics se charge seulement avec votre permission. Il mesure les visites, les clics sur les documents, le courriel et la copie, les vues admissibles des variantes de texte de la page d’accueil, ainsi que les clics subséquents sur les documents ou les contacts. Un clic ne prouve ni l’ouverture ou le téléchargement d’un document, ni l’envoi d’un courriel, ni la copie d’une adresse. Google peut traiter les adresses IP, les données d’appareil et les identifiants de témoins. Nous ne transmettons ni adresses courriel, ni texte de lien, ni paramètres ou fragments d’URL, ni données de compte ou de connexion. Les témoins durent jusqu’à 90 jours; votre choix et les attributions aux tests expirent dans ce délai. Global Privacy Control et les signaux Do Not Track reconnus maintiennent Analytics désactivé. Les préférences d’animation sont enregistrées séparément. Les requêtes à Google Fonts et Unsplash sont indépendantes d’Analytics. Confidentialité chez Google.

préférences analytiques

Autoriser Analytics et les tests de texte de la page d’accueil? Ils comparent le paragraphe sur l’expérience en entreprise de la page anglaise et le texte « ma façon de travailler ». Tout le site reste accessible dans les deux cas. Le retrait efface seulement les témoins analytiques de ce portfolio sur cet hôte et les attributions aux tests; la page peut se recharger. Le retrait ne supprime pas les données déjà reçues par Google.

L’analytique est désactivée à moins que vous ne l’autorisiez. JavaScript est nécessaire pour l’activer.