Skip to content
View dunamismax's full-sized avatar

Block or report dunamismax

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
dunamismax/README.md

Stephen Sawyer

I build websites, write automation, and run the systems behind them. My work includes Astro and TypeScript applications, PostgreSQL publishing systems, Python tools, and self-hosted Ubuntu infrastructure.

Website · Portfolio · Contact · Codeberg

Selected work

Websites

  • dunamismax.com — My portfolio and blog, built with Astro, strict TypeScript, and PostgreSQL. Static pages sit alongside database-backed publishing; the browser receives no JavaScript. Source
  • Grace & Footnotes — My Christian writing site, with scheduled publishing, RSS, and downloadable resources. I build and host its Astro and PostgreSQL application on my own server.
  • Imaging Services website — A twelve-page Astro and PostgreSQL replacement for an existing WordPress site. It is hosted as a demo for review; the company's main website has not been cut over. The source remains private.

Infrastructure and automation

  • Company remote support — I operate RustDesk's self-hosted server and relay for company-wide support. A static Astro site distributes a preconfigured Windows client, with scheduled installer verification and service backups.
  • Dunamis Status — An Astro and PostgreSQL dashboard for website health, services, incidents, deployments, and repository status. A TypeScript collector records snapshots separately from the read-only public application. Source
  • Server backup and recovery — Automated database and configuration backups, age-encrypted off-site snapshots, isolated PostgreSQL restore verification, and documented rebuild procedures. The operational repository stays private.
  • MTG Card Bot — A running Python Discord bot for Magic: The Gathering card search, pricing, legality, and rulings through Scryfall.
  • Dynamic DNS automation — A scheduled TypeScript tool that updates an explicit allowlist of Cloudflare DNS records, with a dry-run mode for reviewing changes.

How I work

I favor semantic HTML, hand-written CSS, parameterized SQL, and small, purposeful dependencies. I prerender stable pages and use server rendering where content needs to change at request time. Reading works without JavaScript; local scripts add small enhancements where useful.

Deployment, monitoring, backups, and recovery are part of the work. Public applications use restricted service identities and database access; publishing and administration stay separate.

See Tech Stack for the tools and practices behind these projects.

Popular repositories Loading

  1. c-from-the-ground-up c-from-the-ground-up Public

    C 170 27

  2. go-web-server go-web-server Public template

    Go 66 4

  3. mtg-card-bot mtg-card-bot Public

    Python 1 1

  4. dunamismax dunamismax Public

    dunamismax

  5. dunamismax.com dunamismax.com Public

    Personal site, portfolio, and blog for Stephen Sawyer.

    TypeScript

  6. status.dunamismax status.dunamismax Public

    TypeScript