Stéphan Zych

Stéphan Zych

Technical Lead · Lead Fullstack Developer · Application Architect

Brussels, Belgium

About me

Hands-on technical lead and fullstack developer with 15+ years across agency, founder and international consulting work. I combine day-to-day implementation with responsibility for application architecture, technical direction and engineering practices.

I work across PHP, JavaScript and TypeScript ecosystems, defining stack choices, project structure and backend / API / frontend boundaries while continuing to build, review and maintain production code alongside the team.

My focus also includes improving how engineering teams work: reusable project foundations, development standards, Docker-based environments, CI/CD, automated deployment, observability and disciplined AI-assisted engineering.

Core expertise

Technical leadership

  • Hands-on technical leadership
  • Application & web architecture
  • Technical direction
  • Stack & tooling decisions
  • Technical standards & code review
  • Developer guidance & mentoring
  • Technical scoping & estimation
  • Legacy modernisation

Fullstack engineering

  • PHP / Laravel / WordPress
  • JavaScript / TypeScript
  • React, Vue, Angular & Web Components
  • REST APIs & integrations
  • Backend / API / frontend architecture
  • MariaDB / MySQL
  • Accessibility & web performance

Platform & developer experience

  • Docker environments
  • CI/CD & automated deployments
  • Reusable project foundations
  • Development conventions
  • Tooling & automation
  • Observability
  • Linux-based infrastructure

AI-assisted engineering

  • Coding agents in daily development
  • Shared agent configuration
  • AI-assisted refactoring & legacy analysis
  • Sandboxed agent workflows
  • Local LLM tooling

Work experience

Lead Developer — CBTW · via STEPHANZYCH

Brussels, Belgium · 2023 – Present

Hands-on lead developer in the technical team that came out of the Cherry Pulp integration, currently four to five engineers. I develop day to day while owning technical direction and progressively modernising the team's engineering and delivery practices.

Technical leadership & application development

  • Own architecture and technical decisions across concurrent projects: stack choices, project structure, and backend / API / frontend boundaries
  • Develop and maintain production applications alongside the team rather than operating as an architecture-only role
  • Define technical standards, development conventions and code review practice, and drive their adoption across projects
  • Review implementation, resolve technical issues and support developers through day-to-day technical guidance
  • Maintain and evolve shared project tooling and boilerplates originally built at Cherry Pulp and still used within CBTW
  • Work across distributed international teams, including enterprise environments using Microsoft internal tooling and AWS

Platform & delivery modernisation

  • Introduced a shared Docker local development environment using Traefik, PHP, MariaDB and phpMyAdmin as the common baseline for projects
  • Building GitLab CI pipelines and secured containerised deployment on AWS Lightsail, replacing manual and FTP-based deployment and moving off Laravel Forge
  • Adding observability with Grafana, Prometheus and Loki
  • Roll out modernised workflows project by project alongside ongoing client delivery, allowing legacy systems and new delivery practices to coexist during transition

Co-Founder / CTO / Head of Frontend — Cherry Pulp

Brussels, Belgium · 2013 – 2024 · acquired by CBTW in 2023, transition completed in 2024

Co-founded Cherry Pulp and helped grow it into a digital agency of around 20 people building custom websites, digital platforms and web applications. My role evolved from frontend leadership into company-wide technical ownership while remaining directly involved in implementation and delivery.

Scale & engineering leadership

  • Delivered 200+ web platforms and digital products
  • Helped grow the company from 4 to 20 people
  • Supported and mentored development teams, up to 10–12 developers at peak
  • Defined technical standards, project conventions and development practices used across teams
  • Took part in technical hiring, onboarding and developer progression

Architecture & hands-on delivery

  • Defined technical direction and project architecture across client work: stack selection, project structure, and the boundaries between WordPress or Laravel backends, APIs and JavaScript frontends
  • Owned frontend technical direction and remained hands-on in the delivery of short-cycle web projects
  • Designed a modular web delivery approach around Docker, WordPress with Bedrock, structured conventions and custom Forge / Lightsail deployment workflows
  • Established reusable boilerplates, conventions and CLI tooling that made project setup faster and maintenance predictable over time
  • Led technical scoping, estimation and client-facing technical advisory through discovery and delivery
  • Balanced architectural decisions with commercial constraints, team capacity and project delivery requirements

Representative clients: Unicef · Oxfam · Engie · Delhaize · Telenet · KBC Brussels · Latour & Petit · Cefic · Business Europe · Clear Channel · Monizze · Solidaris · eFarmz · RTL · RTBF

Selected engineering work

  • stephan.zych.be, two runtimes from one content source. One Markdown/JSON content source feeds two independent runtimes: an Eleventy/Lit/TypeScript web application and a Go SSH/TUI application. GitHub Actions validates the repository, builds both container images separately, publishes them to GHCR and deploys automatically to DigitalOcean.github.com/monkeymonk/stephan.zych.be
  • Developer tooling around coding agents. A Go tool renders one canonical source — agents, skills, MCP servers, rules and reusable instructions — into the configuration of several coding-agent CLIs, so the same engineering rules apply whichever tool is driving. Agent work runs on deterministic checks, reviewed diffs and Git worktrees, with sandboxing using Bubblewrap, Landlock and seccomp kept outside the agent's control.stephan.zych.be/blog/ai-agent-sandboxing/

Earlier roles

  • Freelance Web Developer — Independent · 2011 – 2016
  • Rich Media Developer — TBWA Group · 2012 – 2013
  • Frontend Developer — Agency.com · 2011 – 2013
  • Co-Founder / Rich Media Developer — La Cerise Numérique · 2010 – 2013
  • Web Designer / Integrator — Com2B Networks · 2009 – 2011

Representative clients: IKEA · L'Oréal · Nespresso · Sony Pictures · bpost · European Parliament

Technical stack

Application & frontend

  • PHP
  • Laravel
  • WordPress
  • Bedrock / Sage
  • JavaScript
  • TypeScript
  • React
  • Next.js
  • Vue
  • Nuxt
  • Angular
  • Lit & Web Components
  • Node.js
  • Go
  • Tailwind CSS

Platform & delivery

  • Docker
  • Docker Compose
  • Linux (Ubuntu)
  • Traefik
  • Caddy
  • Nginx
  • GitHub Actions
  • GitLab CI
  • GHCR
  • Automated deployments

Data & infrastructure

  • MariaDB / MySQL
  • Redis
  • PostgreSQL
  • SQLite
  • AWS Lightsail
  • DigitalOcean
  • Cloudflare

Engineering practices & observability

  • Git
  • Conventional Commits & SemVer
  • Grafana
  • Prometheus
  • Loki
  • GoAccess

AI-assisted engineering

  • Claude Code
  • Codex CLI
  • OMP
  • MCP / agent configuration
  • Ollama
  • llama.cpp
  • Agent sandboxing (Bubblewrap, Landlock, seccomp)

Education & training

  • Académie Royale des Beaux-Arts de Bruxelles — Bachelor: Plastic, Visual & Spatial Arts
  • Université Libre de Bruxelles — Computer Science studies
  • École de Recherche Graphique (ERG) — Visual Narration studies
  • CEPEGRA — Graphic production training

Language skills

  • French — C2 · Native
  • English — B2

Leadership & community

  • Internal tech talks · CBTW — “Terminal utilities & advanced use cases”, “Conventions & patterns in production”
  • Member, Réseau Entreprendre Bruxelles — 2019 – 2023