Thomas Slock Email me
Thomas Slock

Thomas Slock

Senior full-stack engineer for startups and small teams

I build and launch web and mobile products in TypeScript, with React, Next.js, React Native and Node. I've spent over ten years at startups and at Arc'teryx and Toyota Europe, and this year I designed, built and launched Cereal on my own.

Availability
About 20 hours a week, part-time contract
Location
Remote, any time zone (based in Vancouver)
Languages
English, French, Spanish (B2)

Recent work

Cereal: a Spanish‑learning app and website

Founder and engineer · 2026 · cereal.show

It matches learners with TV shows at their level, graded by CEFR from real subtitles.

Live on the App Store, with 1,800+ episode study packs across 180+ titles.

Cereal's Browse screen: One Hundred Years of Solitude, Roma, Cable Girls and Café con aroma de mujer, graded for the learner's level Cereal's page for One Hundred Years of Solitude, with the words you'll hear most in season 1
Browse, graded for the learner's level, and the words a show uses most

What I did.

  • Designed and built the React Native (Expo) app and the Next.js website.
  • Built a batch pipeline that uses LLMs to write per-episode vocabulary from subtitles and checks every word against the dialogue.
  • Added StoreKit and RevenueCat subscriptions, Apple and Google sign-in, analytics and over-the-air updates.
  • Shared one TypeScript domain package across the app, website and pipeline, so business logic is written once.

Arc'teryx: cutting bots off from inventory data

Senior full-stack developer, contract · 2024–2026

Bots were pulling inventory counts and upcoming product drops from the Magento API to buy out releases.

Bots could no longer read inventory counts or upcoming drops from the Magento API, and the frontend no longer depends directly on Magento.

The storefront talks to Magento only through the tRPC layer

What I did.

  • Built a tRPC layer between the storefront and Magento that exposes only the data each page needs.
  • Led the site-wide rebrand on the Brand Web team, including the shared typography library.
  • Moved hardcoded content into Sanity, so non-technical teams publish without a developer.

Aurora: syncing Shopify with the CRM/ERP

Senior full-stack developer · 2019–2024

An online shop for registered medical patients couldn't launch until orders, customers and products synced with the CRM/ERP, including insurance coverage and province-specific tax rules.

The shop launched and had 120k+ registered customers while I was there.

Two-way sync between the shop and the business systems

What I did.

  • Built the Node.js REST API that handles that sync.
  • Led the shop's frontend migration from jQuery to React while we kept shipping features.
  • Designed the GraphQL API for the registration portal, on AWS Lambda.
  • Onboarded new developers and kept the technical documentation current.

What I can help with

At about 20 hours a week, I can own one feature, integration or migration at a time, or work steadily alongside your team.

New products and MVPs

From an empty repo to a release on the web or the App Store.

React Native, Next.js, Supabase

Frontend rebuilds

Migrations, design systems and rebrands, without pausing feature work.

React, Next.js, TypeScript, Storybook

APIs and integrations

Commerce platforms connected to CRMs, ERPs and the rest of your stack.

Node, tRPC, GraphQL, Shopify, Magento

LLM features

Batch generation and content pipelines with automated checks.

Claude API, TypeScript, PostgreSQL

Experience

Education · Bachelor in Computer Science, Université de NamurBachelor in Chemistry, Haute École de la Province de Liège

Tell me what you're building, where you need help, and when you'd like to start.

Email hello@slock.dev