Open to work · Apr 2026
Infrastructure
All of it, on the edge.
Every public web surface I run lives on Cloudflare Workers. The email stack is pure CF too — six zones pooled through Email Routing, raw MIME archived in R2, metadata in D1, outbound via the Email Sending binding. No SendGrid, no Resend, no traditional origin servers.
live.edgestreaming
●IAD · LAX · DFW · LHR · FRA · NRT · SYD · GRU9/9 WORKERS · 310+ EDGES
Workers
norfbay
@opennextjs/cloudflarenorfbay.com — this site
Assets
socouniverse
@opennextjs/cloudflaresocouniverse.com
Assets
socouniverse-cron
raw Worker + Cron TriggersDaily tournament cleanup + Discord announcements
Cron: 0 0,4,12 * * *
aetherium
Next.js 14 static + custom handleraetherium.app — v1 (legacy)
D1: aetheriumDO: GlobalChatRoom, DuelLobby, DuelSession
aetherium-v2
Next.js 15 static + Workeraetherium.app — v2 (current)
D1: aetheriumEnv: ADMIN_EMAILS
kachd-scan-worker
raw Worker + HonoReliq file dedup + asset pipeline
R2: reliq-filesQueue: kachd-scan-queue
mail-stack
raw WorkerInbound + outbound email across 6 zones
R2: mail-archiveD1: mail-metaEmail Sending
mail-inbox
CF Pages (React)Unified inbox UI (CF Access gated)
D1: mail-meta (ro)R2: mail-archive (ro)Service → mail-stack
socouniverse-workers
raw Worker + Cron TriggersScheduled tournament ops
Cron Triggers
mail-stack — data flow
Inbound
CF Email Routing (catch-all on 6 zones)
│
Worker email() handler
┬
R2: mail-archive (raw MIME)
D1: mail-meta (thread/message)
Outbound
Caller (Reliq, NorfBay, NCTC)
│
POST /send (Bearer token)
│
CF verification check
│
Email Sending binding → recipient
6 domains pooled · zero third-party relay · MTA-STS served per-zone
Data stores
D1aetheriumGame accounts, saves, duels
D1mail-metaEmail thread + message metadata across 6 zones
R2reliq-filesDeduped file storage with SHA-256 addressing
R2mail-archiveRaw MIME audit archive (write-once)
DOGlobalChatRoomAetherium v1 — legacy global chat (removed in v2)
DODuelLobbyAetherium v1 — PvP matchmaking
DODuelSessionAetherium v1 — per-duel state