Introduction

What I bring to your team

I am web-platform-first. Seventeen years of HTML, CSS, and JavaScript mean I reach for the native primitive before the framework abstraction. When I write React or choose a library, I do so deliberately. To add what is genuinely useful, to fill the gaps the platform does not yet cover, and to bridge the gap for browsers that are still catching up. The outcome is code that is thoughtful, efficient, and easy for future maintainers to handle.

I have shipped at scale for demanding audiences. At Mozilla, I led the frontend for the Firefox onboarding experiment, architected as a WebExtension so new flows could be tested independently of the browser release cycle. I was also a core contributor to the rewrite of MDN Web Docs from a Django wiki to a React-rendered platform serving tens of millions of developers. Both efforts required the same things: pragmatic code that performs consistently across browsers, close collaboration with growth, UX, and engineering, and success defined upfront and measured against real telemetry. Semantic HTML, accessibility, and performance were treated as first-class concerns throughout, never bolted on at the end.

At Factorial, I lead the adoption of AI across our engineering workflows and carry that practice into client work, using Claude Code, Cursor, Codex, MCP, and Agent Skills daily in a spec- and test-driven approach. Curiosity drives the rest: I build, open source, and release a corpus of projects aimed at tightening developer feedback loops, and I am writing an HTML rendering engine in TypeScript purely to understand how a browser works from the inside. The same instinct led to technical-reviewer work on recent O'Reilly editions of the JavaScript and CSS Definitive Guides, the Web API Cookbook, and PHP, MySQL, and JavaScript — work that has sharpened both my editorial eye and my depth of knowledge of the standards themselves.

I am equally at home in cross-functional teams and working self-directed. I have been remote-first since 2011, collaborating across time zones and cultures, and I treat asynchronous, written-first communication as the means by which every team member is heard, not just the loudest voice in the room. Mentoring is part of the same instinct: I take real pleasure in helping junior and mid-level engineers reach the goals they have set for themselves, from building independent JavaScript skills to gaining the confidence to lead.

Experience

Seventeen years shipping for the open web

Factorial GmbH

Hamburg, Germany — remote from South Africa

— Present

Senior Frontend & Agentic Engineer

Took on team-lead responsibilities for a major client project within two months of joining. Balance frontend engineering with product requirements work, client communication, and collaboration with external UX and design agencies — providing critical feedback on feasibility, performance, and accessibility.

Selected projects

  • Finstral and Beck component libraries. Drupal-based component libraries using Twig, web components, and CSS, developed with Miyagi.
  • Algolia integrations. Built a store locator combining Algolia geosearch with Leaflet, OpenStreetMap, and Geoapify for road-distance calculations, and a newsroom homepage powered by Algolia InstantSearch. Designed the Algolia index schema.
  • CI/CD modernisation. Improved build process and pipelines through custom Node.js solutions on GitHub Actions.
  • BITV accessibility compliance. Recognised internally as the accessibility specialist; led the project to prepare the company website for BITV compliance.
  • AI-augmented engineering. Leading the team's adoption of Claude Code, Cursor, MCP, and Agent Skills in a spec- and test-driven workflow.
  • Incident management. Entrusted with incident management responsibilities across three business-critical tenants.
  • Mentorship. Mentored mid-level engineers, helping them develop independent JavaScript capabilities.

Mozilla

San Francisco · Remote

(12 years)

Frontend Engineer → Growth Engineering Lead → Staff Community Manager

Growth Engineering & Experimentation · 2016 — 2017

Led frontend development for the Firefox onboarding system, used by millions of users globally.

  • Architected a WebExtension-based onboarding system enabling rapid A/B testing between browser releases.
  • Designed multi-step personalised onboarding journeys with telemetry instrumentation, backend API integration, and conversion tracking.
  • Deployed experiments to 40,000+ user cohorts via Funnelcake; the system achieved roughly 80% OKR success and became the default Firefox onboarding experience.
  • Built a privacy-first analytics library with Do Not Track support.

MDN Web Docs & Platform Engineering · 2011 — 2023

Lead frontend engineer for MDN Web Docs — the definitive web standards reference, serving tens of millions of developers.

  • Built interactive code examples and maintained collaborative relationships with Mozilla's global contributor community.
  • Core contributor to the full rewrite of MDN from a Django-powered wiki (Kuma) to a modern Node.js-based platform with React as the frontend layer, GitHub-based content workflows, and the Yari static site generator — one of the most significant overhauls in MDN's history.
  • Contributed to Mozilla Crash Stats, Plugincheck, and internal design system initiatives.

Selected work

A corpus of work, built in the open

Open-source projects and active work outside of employment. They illustrate where I invest time when I am not on the clock — web platform depth, developer experience, and the future of how we build for the web.

  • My website

    Where I share everything I learn, think about, and am experimenting with.

  • Skills Autoresearch

    A harness that evaluates a seed skill against project fixtures, asks a researcher model to improve the skill, then reruns evals against the candidate. Currently validating whether Flue's agent harness primitives help build a reliable, auditable skills autoresearch loop.

    • Flue
    • Evals
    • Agent Skills
  • CSS Property Type Validator

    Validates CSS custom property registrations declared with @property, then checks whether registered custom properties are used compatibly through var(). Catches mistakes in CI, such as a colour token being used for inline-size, or a length token being assigned an invalid value.

    • css-tree
    • @property
    • Design tokens
  • Makerbench

    A bookmarking and reading-list tool for makers.

    • React 19
    • TypeScript
    • Vite
    • Supabase
    • Drizzle ORM
    • Valibot
    • Vitest
    • Playwright
  • Project Calavera

    Compose and apply modern tooling recipes for web development projects. Focused on project tooling, not application scaffolding — works in an empty folder, or after scaffolding with Vite, Astro, Next.js, Bun, or any other starter. Also my first experiment with WebMCP, exposing tools that allow agents to interact with the web UI to configure and download the JSON config file.

    • WebMCP
    • Tooling
    • CLI

Toolkit

The toolkit, roughly

Core craft

  • HTML
  • CSS
  • JavaScript
  • React
  • TypeScript
  • Web Components
  • Web Accessibility
  • Responsive design
  • Cross-browser dev & testing
  • Technical writing

Testing & tooling

  • Playwright
  • Axe Playwright
  • Vitest
  • Node.js
  • Figma · Penpot
  • Drupal / Twig
  • Astro
  • Next.js

Agentic engineering

  • Claude Code
  • Claude Design
  • Cursor
  • Model Context Protocol
  • Agent Skills
  • Spec-driven dev
  • TDD with AI

Data

  • Supabase
  • Turso
  • PostgreSQL
  • SQLite
  • MySQL
  • MongoDB

General. Vite · Webpack · VS Code · Terminal (Zsh) · Docker · Browser devtools (Chrome, Safari, Firefox) · Axe · GitLab · GitHub · GitHub Actions · Netlify · Netlify Functions · Vercel · Cloudflare Pages · DigitalOcean

Soft skills. Lifelong learner · Open Source community management · Agile and Kanban · Frontend team lead · Remote worker since 2011 · Cross-functional and technical teams · Team norms

References

References, in their own words

  • My team and I manage the GitHub Documentation website, with 8 million monthly users. The accessibility of this website is a top priority. Several times in the last two years, I have reached out to Schalk for opinions, feedback, and advice. What is so impressive about Schalk's knowledge of web accessibility is that it is grounded in real-world problem-solving, knowledgeable expert connections, and humble reflection and research.

    Peter Bengtsson Full-stack web dev · GitHub Docs

  • I worked closely with Schalk on MDN Web Docs. He has extensive expertise in configuring our repositories so that the health of our project is in a good state and looks welcoming and well-maintained to the community. His programming knowledge made it a great help to get feedback on technical content, examples, guides, and references across multiple web technologies. He cared deeply about the work we were doing. I would love to have the opportunity to work with Schalk again.

    Brian Smith Staff Technical Writer · MDN Web Docs

  • Schalk demonstrated great technical leadership and community skills when we brought interactive examples to MDN reference documentation. This project required building an entire new contribution workflow and a new component with its own architecture. It was a huge success for both MDN's contributors and readers. Schalk is truly driven by doing the right thing for the Web and for people. Thoughtful and kind. I highly recommend working with him.

    Florian Scholz Director · Open Web Docs