contact@ryanspice.com
Ocean at sunset

Scene & motion

Ocean at sunset · theme: default · #3ECFA2

Click or tap the water to fire. Try to hit the boat.

Keyboard: focus the water, then Enter or Space.

$ whoami

Ryan Spice-Finnie

Senior Software Engineer — Frontend, Platform & Full Stack

I build and modernize accessible web applications, from shared frontend architecture to the APIs, authentication and delivery systems behind them. My experience spans enterprise products, regulated commerce, mobile applications and hands-on technical leadership.

Through Canopy Digital, I continue that work with SvelteKit applications, client delivery, cloud integrations and AI-assisted engineering tools.

experience
More than a decade across enterprise products, regulated commerce, modernization and client delivery
current
continuing through canopy digital · sveltekit · azure & cloudflare · ai-assisted engineering
open to
senior/staff frontend & platform · senior full-stack · hands-on technical leadership
base
ontario, canada — toronto hybrid · canada-remote
Code & products SvelteKit PHP EFSDB Fusion
ryanspice.com
record 2014 → present

selected experience across products, platforms and teams

a selected career record built through implementation: shared frontend architecture, accessible products, authentication, mobile delivery and current client work. The CV adds the full responsibilities and technical context.

2024 · 08 → now

independent consultant / principal engineer · canopy digital

client websites and applications with SvelteKit, PHP and APIs. Since 2024, deployed three websites to Azure using containers, Static Web Apps, CDN and Storage; current delivery includes authentication, payments and AI harnesses with MCP and API integrations.

independent

2024 · 6/m

full stack engineer · autotrader.ca

homepage modernization and server-side rendering with an Angular 19 prerelease, prerendering and Azure Static Web Apps, alongside legacy Angular 8/9 in a .NET environment, within existing integrations, release constraints and production verification.

engagement

2023 · 11–12

angular deployment specialist · Pizza Pizza Limited — Pizza 73 application

angular 8 → 17 migration, dependency/ci stabilization and controlled production rollout.

engagement

2022 · 03–10

senior full stack engineer · ontario cannabis store

took ownership of a React administration application replacing a legacy Ruby frontend, using Storybook to support consistent, accessible interfaces; also delivered search functionality to the live Shopify storefront.

engagement

2020 · 06 → 2021 · 03

senior full stack engineer · manulife

Travel customer login with ForgeRock/OpenID and Passport.js in an AEM environment; accessible React and Storybook components, with NestJS and Swagger.

engagement

2019 · 08–11

senior full stack engineer · Nobul

worked directly with the CTO on development plans and delivered autocomplete and client-tracking features using React and GraphQL, backed by Google Cloud Functions, with Jest for testing.

employer

2018 · 02 → 2019 · 08

senior UX developer → senior software engineer · ADESA

led SSR and reusable micro-frontend boilerplates adopted across teams, reverse-engineered legacy Java OAuth for frontend login, and worked across Vue, Preact, React, Angular and native Web Components.

employer

2016 · 11 → 2018 · 02

front-end developer / team lead · indegene

helped hire and lead up to six developers delivering Angular/Ionic applications for Android and iOS, with WebRTC and offline synchronization. Worked with the backend team in a Microsoft Azure and legacy .NET environment, with Salesforce and Jira.

employer

2014 → 2016

earlier engineering · Goods and Services · FutureVault · LM Staffing

Drupal client sites and an image-layer product configurator; React/Flux interfaces with PHP/MySQL and Java Spring services; analytics and search with Elasticsearch, PHP and SQL.

earlier
engineering experience enterprise · modernization · commerce · ai

architecture, modernization and hands-on delivery

shared frontend foundations at ADESA, Angular modernization at AutoTrader and Pizza 73, accessible commerce at OCS, and current client delivery and AI tooling through Canopy Digital.

W-01

frontend platforms & technical leadership

openlane / adesa · 2018–2019

I owned shared frontend foundations at ADESA; the resulting architecture was adopted across product teams.

Shared UIVersioned contractsProduct teams
Details
01 / shared foundations

One platform. Multiple product teams.

Representative architecture
UI patternsShared interaction language
Components & tokensReusable interface foundations
Build & releaseVersioning and delivery practices
CONTRACTVersioned integration boundaries
APIsiframe / postMessageRelease contracts
Product team AAdopts shared foundations
Product team BAdopts shared foundations
Product team CAdopts shared foundations
fig.02 — Representative shape of the ADESA role. A, B and C are illustrative labels, not a product count. Employer code and internal diagrams are not published.
period
feb 2018 – aug 2019
role
senior software engineer — ui platform
context
openlane / adesa · enterprise marketplace
focus
shared ui foundations · integration boundaries · rollout governance · mentoring
evidence
representative architecture; proprietary implementation details omitted

At ADESA, I led server-side rendering for a micro-frontend solution and built multiple frontend boilerplates. I owned a modular Webpack frontend adopted by other teams and reverse-engineered the legacy Java OAuth flow to implement frontend login against the existing backend.

The work spanned Vue, Preact, React, Angular and native Web Components in an AWS-hosted environment. I presented the architecture, whiteboarded implementation approaches and worked with Mocha, Chai, Karma and Jenkins delivery workflows.

W-02

modernizing production systems

2023–2024

Two separate production modernizations: I upgraded Pizza 73 and led AutoTrader homepage server-side rendering (SSR) and prerender delivery within existing systems and release constraints.

Pizza 73Angular 8 17
AutoTraderSSR prerender
Details
02 / controlled modernization

Two engagements. Clear delivery boundaries.

2023–2024
A
Pizza Pizza Limited — Pizza 73 application

November–December 2023

Angular 8Angular 17
  1. 01
    Upgrade the applicationFramework migration & Ivy rendering
  2. 02
    Stabilize deliveryDependencies, build workflows & CI
  3. 03
    Support the rolloutQA & production troubleshooting
B
AutoTrader.ca

2024 · 6/m

Homepage SSRDelivery Prerender
  1. 01
    Rebuild the homepageAngular implementation
  2. 02
    Shape the renderingServer rendering & prerendered components
  3. 03
    Deliver through AzureAzure Static Web Apps
fig.03 — Separate engagements from the current career record. Delivery stages illustrate the work; spacing does not encode duration or performance.

APizza Pizza Limited — Pizza 73 application · Nov–Dec 2023 · angular deployment specialist — angular 8 → 17 production migration

Bautotrader.ca · 2024 · 6/m · full stack engineer — angular 19 prerelease, SSR and prerendering

period
2023–2024 · separate contracts
role
hands-on senior engineer across two separate engagements
context
legacy enterprise applications under active production constraints
focus
incremental migration · api boundaries · ci/dependencies · qa · production support
evidence
current resume chronology and role summaries

At Pizza Pizza Limited, I upgraded the Pizza 73 application from Angular 8 to 17, updating dependencies, build workflows and Ivy rendering. At AutoTrader, I led homepage implementation with server-side rendering and prerendered components on Azure Static Web Apps within an existing production system, including work with an Angular 19 prerelease and the surrounding integration, release, QA and production-troubleshooting constraints.

The broader enterprise context included API-driven workflows and integration boundaries; this narrative does not infer that every workflow detail belonged to the homepage deployment path.

The approach is incremental: establish the boundary, stage the change, protect the release path and keep QA and production troubleshooting inside the engineering loop.

W-03

commerce, edge & full-stack delivery

ocs 2022 · canopy 2024 → now

At Ontario Cannabis Store, I owned the React administration replacement and separately delivered live Shopify storefront search; Canopy extends that hands-on delivery into APIs, payments and cloud.

OCSReact admin · live search
Canopy DigitalAPIs · payments · cloud
Details
03 / full-stack delivery

From customer interaction to cloud delivery.

Portfolio overview
  1. 01
    Customer interface

    Accessible, responsive product flows

    ReactSvelteKit
  2. 02
    Commerce

    Account, product & payment-adjacent paths

    Shopify
  3. 03
    Application services

    APIs & authentication-aware integrations

    Node / PHPREST / GraphQL
  4. 04
    Edge & cloud

    Workers, delivery & hosting services

    CloudflareAzure
fig.04 — Experience across OCS and independent work, rather than every technology in one deployed system. The historical Shopify deployment demonstration was not a stocked storefront or evidence of the complete integration stack.
role
senior full stack engineer · independent principal engineer
context
regulated ecommerce + current independent product/client delivery
stack
react · typescript · shopify · node/php · cloudflare · azure · testing
demonstration
Shopify deployment example (currently offline)

At Ontario Cannabis Store, I took ownership of a React administration application replacing a legacy Ruby frontend, using Storybook to support consistent, accessible interfaces. I also delivered search functionality to the live Shopify storefront. My broader commerce work includes Stripe and Moneris payment integrations. I also deployed a Shopify demonstration site; it was not a stocked or inventoried store and is currently offline.

Through Canopy Digital, I continue hands-on engineering across SvelteKit/PHP and API delivery, authentication-aware integrations, cloud delivery, release automation, documentation and stakeholder handoff.

Since 2024, I have deployed three websites to Azure using containers and Static Web Apps, with CDN delivery and Storage. My independent work also includes Azure OAuth/MSAL, Cloudflare Workers and Stripe and Moneris integrations.

W-04

multi-model ai orchestration & verification

2025 → now

I build AI-assisted engineering workflows that route tasks, constrain delegation, preserve evidence and keep acceptance under operator control.

Fugu · local AI engineering orchestration · independent development

Control
Provider routing & bounded delegation
Evidence
Persisted outputs & independent review
Acceptance
Deterministic checks & root judgment
04 / system topology

Local AI engineering orchestration

Provider routing, scoped delegation, evidence capture and verification.

Local engineering harness
Local AI engineering orchestration: delegation, evidence and return path A selected third-party workbench sends a task into Ryan's Fugu policy and implementation. The control plane routes to a lead and bounded workers. Their evidence converges into a persisted packet, passes through tests and root judgment, then returns to the originating workbench. The catalog supplies routing state. Animation illustrates sequence, not live activity or latency; named workbenches, models and research are not claims of authorship. WORKBENCHES · INTERCHANGEABLE CLIENTS Claude Codex Hermes DeepSeek / other FUGU CONTROL PLANE provider routing · scoped delegation · evidence capture verification · permissions · fallback · failure classification catalog scanner availability state policy input LEAD / SYNTHESIS LANES scoped context · design ownership edits · final claims · integration BOUNDED WORKERS contract → inspect → decide → report scoped permissions · shared child budgets evidence A evidence B review persisted evidence packet structure · tests · eval root judgment · approval boundary
  1. 01 Workbench request
  2. 02 Policy & routing
  3. 03 Lead + workers
  4. 04 Evidence & checks
  5. 05 Return to workbench
Read this graph as text

This is an illustrative local engineering harness, not live activity. A task begins at one of several interchangeable workbenches. Catalog input informs the Fugu policy; the control plane resolves routing and sends the task to a lead and bounded workers. Evidence is collected into a persisted packet, checked, and assessed by the root for acceptance before the result returns through the lead and policy to the same originating workbench.

  1. Workbench sends a scoped request.
  2. Catalog and policy determine the permitted route.
  3. Lead coordinates bounded workers.
  4. Evidence enters persisted checks and root acceptance.
  5. The result returns to its own originating workbench.
fig.05 — An illustrative request/return cycle, starting from a randomly chosen workbench each time. Timing is not measured latency; model inventory changes. Public Fusion features are distinct from this local harness.
operating rules behind the diagram

Model/provider availability is policy state, not hard-coded task logic. Catalog scans detect changes and policy can disable a lane with a recorded reason. Worker self-reports are never treated as sufficient evidence: packets and artifacts are inspected, failures are classified, and public claims remain owned by the lead/operator. Cross-family agreement is useful signal, but it still passes the same structure and verification gates.

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

role, implementation & evidence
role
designer & implementer — orchestration, policy, verification
systems
fugu · fusion · local/custom engineering harnesses
control plane
lane policy · provider routing · fallback · catalog rotation · bounded tool scopes
verification
evidence packets · cross-family review · structure/test gates · operator approval
related public product
canopydigital.ca/fusion

I design and implement local AI engineering harnesses that route scoped tasks across workbenches and providers, enforce budgets and permissions, and preserve outputs for review. The policy keeps provider availability and fallback choices explicit.

The root owns integration and acceptance. Workers receive scoped contracts; authorized broker-enabled workers can delegate within shared depth, task, concurrency and runtime limits. Read-only packets remain read-only. Independent review informs the root's judgment, while deterministic checks establish acceptance rather than model vote counts.

The firsthand harness build log explains the implementation and review workflow. The diagram is illustrative; it is not a live provider monitor or a benchmark.

Canopy Digital Fusion is the public workspace. These local harnesses inform how I develop and evaluate it; their full orchestration policy is not a claim about features deployed in the public product. Canadian ownership does not by itself establish Canadian model hosting or data residency.

approach five habits, tied to production work

how I work

the through-line across frontend, platform, full-stack and ai work is practical systems engineering: understand the existing system, define boundaries, ship incrementally and leave better verification behind.

  1. read the system before touching it.

    AutoTrader and the Angular 8 → 17 deployment both required mapping legacy behavior, API boundaries, release constraints and regression risk before making the visible change.

  2. choose boundaries that outlive the framework.

    At Openlane/ADESA, shared UI foundations and integration contracts mattered more than whether a product happened to be Angular, React, Preact or Vue.

  3. accessibility and product quality are architecture concerns.

    OCS, Manulife and later client work put AODA/WCAG, semantic markup, keyboard behavior, Storybook and regression coverage into normal delivery rather than a final compliance pass.

  4. verify, then trust.

    Playwright, Jest/RTL, Lighthouse, CI checks and AI review/eval gates all serve the same purpose: turn a plausible change into an evidenced one.

  5. lead by making the work easier to understand.

    At ADESA, architecture presentations and shared foundations helped other teams adopt the platform; at Indegene, hiring and leading developers supported hybrid-mobile delivery. Architecture notes, mentoring, stakeholder translation and short decision records remain part of delivery.

client websites & productsrecent sites · public surfaces

selected client sites & products

public websites and product work from my current practice: healthcare, local services, design and the Canopy Digital Fusion workspace. Follow each card to the available site.

writing canonical copies off-site

selected writing

firsthand build logs and engineering decisions across modernization, platform work, ai-assisted tooling and browser systems. canonical copies live at blog.ryanspice.com.

all writing — blog.ryanspice.com

link policy. two selected engineering articles and one latest post, with titles and dates from the blog RSS feed. A saved snapshot remains available if the feed cannot be reached.

software & tools independent builds

tools for the work itself

Software I build for design, search, media and everyday engineering workflows.

THE MANUAL · STRUCTURE. CLARITY. CONTROL.

Prompt Operations Manual

A practical guide to turning one-off prompts into reusable AI workflows, clearer delegation and more consistent outputs.

explore the manual
curriculum vitae updated 2026-09-08

career history and technical experience

the CV combines a written professional profile with the complete career record. The shorter résumé highlights recent delivery, shared architecture and technical leadership.

Ryan Spice-Finnie · Senior Software Engineer

More than a decade across frontend architecture, full-stack delivery, modernization, accessibility, cloud/platform work, technical leadership and current multi-model AI orchestration.

React / Node Angular / AODA SvelteKit APIs / Authentication Platform architecture Applied AI

Also open to public-sector opportunities

Ontario government Government of Canada Flextrack
view complete cv download complete CV PDF view short résumé HTML download short résumé PDF Flextrack résumé PDF Updated September 2026 · complete CV: 4 pages · short résumé: 2 pages · Flextrack résumé: 4 pages. Accessible HTML reading alternatives are provided; PDFs have selectable text and clickable contact links.
contact no forms · no analytics

the fastest route is plain email

for senior/staff frontend & platform, senior full-stack or hands-on technical leadership roles, email is the fastest route.

github
github.com/ryanspice
linkedin
linkedin.com/in/ryan-spice-finnie-510a295b
location
ontario, canada — toronto hybrid · canada-remote
response
asap

privacy. page code uses no analytics or forms; it saves your motion preference locally. Fonts and photographs load from Google Fonts and Unsplash.