Mark Stratmann
About Me Background Image

About Me

A computer nerd and have been one for a very, very long time

Recent Experience

Email Archiving Platform

CTO and Senior Full-Stack Developer

Responsible for a comprehensive enterprise-grade email archiving and compliance platform serving multiple global clients. The platform processes millions of emails daily across AWS cloud infrastructure and on-premises deployments.

Key Technologies: TypeScript, Node.js, Go, Java 21, Spring Boot 3.5, React, Next.js, MongoDB, MySQL, Kafka, Kubernetes, Helm, Ansible ELK, Prometheus, Grafana, AWS, Docker, Cypress, Redis, Prisma, SAML 2.0, OAuth2

Infrastructure & DevOps

Kubernetes Deployments: Created 50+ Helm chart configurations for all platform services. Implements autoscaling policies, pod disruption budgets, and network policies for secure service-to-service communication.

AWS Infrastructure: Built automated deployment pipelines using CloudFormation templates and Ansible playbooks across multiple AWS regions. Manages VPN gateways, IAM roles, security groups, and Route53 DNS configuration.

CI/CD: Implemented Azure Pipelines for automated testing and container builds. Features parallel test execution with Jest and Mocha, code coverage reporting, and multi-stage deployment pipelines.

Monitoring: Integrated Prometheus metrics collection, Grafana dashboards, and ELK stack for log aggregation. Implemented service health checks and alerting policies.

Docker Development Environments: Designed comprehensive docker-compose configurations for local development, including:

  • MongoDB replica sets with mongosh health checks
  • MySQL/Percona databases with custom collation settings
  • Kafka/Zookeeper clusters with topic initialisation
  • MinIO (S3-compatible) servers with bucket creation
  • Multi-service architectures with dependency orchestration
  • Development tooling: kubectl proxy, mongo-express, kafdrop, MySQL clients

Docker Container Images: Built and optimised container images using multi-stage builds for:

  • Node.js services: Alpine-based images with TypeScript compilation, node-prune for size optimisation, and distroless runners for minimal runtime footprint
  • Go services: Devcontainer-based images with librdkafka dependencies for Kafka connectivity
  • Ubuntu base images: Custom images pre-configured with Node.js, Java JDK, AWS CLI, and development tools

Ubuntu Base Container: Built and maintained an Ubuntu 22.04 base image with Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka, and development tools for consistent build environments.

CloudShell Container: Built Azure Cloud Shell base and tools containers with PowerShell 7 and various Azure SDKs for Microsoft cloud management workflows.

VS Code Dev Containers: Configured development container environments for multiple services with remote development support, SSH passthrough, and extension management.

Database & Data Management

MongoDB: Document store with replica sets for high availability. Implements automated backups and disaster recovery procedures using mongodump/mongorestore.

MySQL/Percona: Relational database for structured data, featuring Percona backup and restore workflows using myloader/mydumper for efficient data migration.

CouchDB: Clustered document store for distributed data storage with multi-node deployments.

Database Migration: Developed data migration tooling between MySQL and MongoDB clusters, supporting large-scale data transfers with integration testing against production-like datasets.

Claude Code Dev Environment (ralph-agent)

Personal Project - AI Development Environment

Created a Docker-based development environment optimised for long-running AI agent tasks using Claude Code. Features a non-root user setup with SSH and Git passthrough, automatic Node.js version management via NVM, and VS Code Remote Development compatibility.

Key Technologies: Docker, Ubuntu 24.04, Node.js, VS Code Remote

Summary

Extensive experience building scalable, multi-tenant enterprise SaaS platforms with expertise across the full technology stack. Proven ability to architect microservices, implement robust CI/CD pipelines, and manage complex cloud infrastructure deployments. Strong background in authentication systems, event-driven architectures, and modern frontend frameworks with a focus on maintainable, well-tested codebases.

Technology Summary

TechnologyPurpose
TypeScriptPrimary language for APIs (Fastify, Express), frontend (Next.js, React), shared type library (@cryoserver/types)
Node.jsBackend runtime for 10+ microservices
GoSMTP service for high-performance mail transfer
ReactUI framework for customer-facing and internal admin dashboards
Next.jsReact framework for customer-facing UIs
MongoDBPrimary document store for user and configuration data
MySQL/PerconaRelational database for structured data, used with Prisma ORM
CouchDBClustered document store for distributed data
RedisSession caching
Kafka/KafkaJSEvent-driven messaging between microservices
KubernetesContainer orchestration for production deployments
HelmPackage manager for 50+ Kubernetes chart configurations
AnsibleInfrastructure provisioning and configuration management (AWS, Azure)
DockerContainerization for all services with multi-stage builds
AWS SDKIntegration with S3, IAM, Cognito, and other AWS services
OAuth2/JWTAPI authentication and authorization
CypressEnd-to-end and component testing for frontend applications
PrismaType-safe database ORM for MySQL migrations
ZodRuntime validation for TypeScript types
MUI (Material UI)UI component library for Next.js applications
PuppeteerPDF generation
Node-RD KafkaKafka client for Node.js services
SolrSearch indexing and query service
Prometheus/GrafanaMetrics collection and visualization
ELK StackElasticsearch, Logstash, Kibana for centralized logging
Azure PipelinesCI/CD for automated builds and deployments
Playwright/MCPBrowser automation for AI-driven UI testing
llama.cppLocal LLM inference for experimental CLI tools
Shibboleth SPApache module for SAML 2.0 federation
ZooKeeperCoordination service for Kafka and Solr clusters
MinIOS3-compatible storage for local development
MavenJava project build tool with Surefire testing
TurboRepoMonorepo tool for managing multiple Next.js applications