Stephen Sawyer · dunamismax

PHP-first web work and hands-on systems administration.

I build bespoke, object-oriented PHP on MySQL with semantic HTML and hand-written CSS, script the routine work in Python, and run the Ubuntu servers it all lives on.

Vanilla by default: no frameworks, no build steps, and no JavaScript unless a feature truly needs it. Readable code, owned infrastructure, and pages that load fast.

  • PHP
  • MySQL
  • Python
  • HTML
  • CSS
  • JavaScript
  • Ubuntu
  • Caddy
  • PHP-FPM
  • systemd
  • Bash
  • uv
  • Ruff

Code lives on GitHub and mirrors to Codeberg.

Stack

PHP, MySQL, Python

Work

4 public projects

Writing

0 published notes

Deploy

Self-hosted behind Caddy

Web

Bespoke object-oriented PHP, prepared SQL, server-rendered semantic HTML, and hand-written CSS.

Data

MySQL for published content and durable records, with explicit schemas and least-privilege accounts.

Scripting

Python, uv, and Ruff for automation, bots, and one-off tooling; Bash for deploy and server glue.

Operations

Ubuntu servers, Caddy, PHP-FPM pools, systemd services and timers, and backups with restore checks.

Featured projects

Python bots and automation, self-hosted operations tooling, and this site.

  • mtg-card-bot

    Active

    Magic: The Gathering card lookup Discord bot with live Scryfall data.

    PythonuvRuffpytestdiscord.pyhttpxScryfall API
  • status.dunamismax

    Active

    Status and operations dashboard for public site health, host services, deploy history, and project progress across self-hosted systems.

    UbuntusystemdCaddy
  • dunamismax.com

    Active

    This site: bespoke PHP and MySQL on Ubuntu behind Caddy, with semantic HTML, hand-written CSS, and zero JavaScript.

    PHPMySQLHTMLCSSPHP-FPMCaddyUbuntu
  • Toolworks

    Active

    Python automation, CLI helpers, and operational scripts for repeatable IT workflows.

    PythonuvRuffpytestBashmacOS automation

See every project