Ryan Doering / Software engineer
I build the
systems.
And the possibilities.
From APIs and cloud infrastructure to game tools and interactive worlds. I like understanding how things work—and making them work better.
Scroll to exploreTerraria-inspired / World generation
A world worth digging into.
2408
One seed. Layers of possibility. Original pixel terrain inspired by Terraria.
Inspired by the worlds I work with in my Terraria mods ↗. Generate a new seed and see what grows.
01 / Selected work
A few things
I’ve put into the world.
Personal Portfolio Website (Next.js + Tailwind)
A Next.js portfolio with project case studies, a resume, direct contact links, and an authenticated project and photo editor backed by Supabase and Vercel Blob.
Explore project
Dynamic Worlds (tModLoader Mod)
tModLoader mod that snapshots world progression (bosses, Hardmode, ore tiers, invasions) to JSON, regenerates terrain with a new seed, then restores state — giving players fresh worlds without losing progress.
Explore project
AI-Powered E-Commerce Automation Platform
Senior capstone: an AI-assisted automation platform that eliminates manual e-commerce storefront migration through structured transformation pipelines and a sandboxed script execution engine (NDA-constrained).
Explore projectMinecraft Server Automation on AWS (Terraform + Ansible + Docker)
End-to-end IaC pipeline that spins up a Dockerized Minecraft server on AWS EC2 without touching the console — Terraform provisions infrastructure, Ansible configures the host, Docker runs the server.
Explore project02 / Under the surface
Good systems handle
the unexpected.
Small details matter: validate the input, handle failures, and make retries predictable. Try the model below.
Interactive model / 01
A little logic.
A clear path through.
Good systems handle more than the happy path. Send a sample event through this small API model and see what happens along the way.
- 01
Validate
Check required fields
Ready - 02
Process
Normalize & deduplicate
Ready - 03
Store
Write once, safely
Ready
POST /events{
"id": "evt_2049",
"type": "project.viewed",
"project": "API Playground"
}Runs locally in your browser. Each run starts with one sample record. No network requests or real data.
Beyond the browser
Tools for worlds worth exploring.
I also develop games and tools through Uncanny Abyss Interactive.