norfbay/rh
Open to work · Apr 2026
R. HERNANDEZ · LONG BEACH × BAY AREA · EST. 2013

Shipping software
since 2013.

Six live products. Nine Cloudflare Workers. A unified mail stack across six domains. Multi-tenant ERP, community platform with voice rooms, browser game with a deterministic combat engine. Thirteen years self-taught. End-to-end ownership. Open to senior roles, April 2026.

Contact meSee the infrastructure usually replies same day
The stack
Cloudflare WorkersD1R2Durable ObjectsQueuesEmail RoutingNext.js 15/16React 19NestJSDrizzlePostgreSQL · NeonLiveKitStripeTauriPyTorchGodot
live.edgestreaming
IAD · LAX · DFW · LHR · FRA · NRT · SYD · GRU9/9 WORKERS · 310+ EDGES
Workers
9live
Zones
6domains
Products
6shipped
Years
13self-taught
wrangler.tail — all workerslive
12:04:02 mail-stack /send 200 12ms
12:04:04 aetherium-v2 GET / 200 8ms
12:04:05 kachd-scan queue.dedupe ok
12:04:07 socouniverse-cron tournament.cleanup retry 1/3
12:04:08 mail-stack inbound stored r2://mail-archive/...
12:04:10 wrangler deploy aetherium-v2 queued
kachd.comcommunity · voice rooms · Tauri desktopcyrusos.commanufacturing ERP · multi-tenant · 17 modulesaetherium.appbrowser roguelike · deterministic ticks · R3Fserpcalls.comSERP rank tracker · dual-LLM fallbacksocouniverse.comTCG tournaments · Swiss pairings · 5 gamesmail-stackpure-CF email · 6 domains pooledtauri-pushpublished npm · cross-platform notifications

§ 01 — Work

Six things running in production.

Kachd

LIVE
kachd.com
~292 commits / 90 days

Community platform. Voice rooms, document sync, creator payouts.

  • Pure-Cloudflare scan worker with SHA-256 dedup before R2 writes
  • Tauri desktop (Windows/Mac/Linux) wrapping the same web codebase
  • LiveKit WebRTC rooms with custom token minting
  • Clerk organizations → multi-tenant Drizzle schema, row-level filtering
  • Stripe creator payouts with 80–85% split logic
Next.js 15React 19TauriClerkLiveKitStripeCloudflare R2DrizzlePostgreSQL

CyrusOS

BETA
cyrusos.com
~137 commits / 90 days

Multi-tenant manufacturing ERP. RFQ → quote → job → invoice lifecycle.

  • Schema-per-tenant Postgres isolation; Drizzle types generated per tenant at runtime
  • 17+ modules: scheduling, materials, inventory, quotes, invoices, shop floor, analytics, billing
  • Gantt-style scheduling with machine/operator/material constraint solving
  • MFA with TOTP; JWT refresh rotation
NestJSNext.js 15DrizzlePostgreSQL (Neon)StripeRailway

Aetherium

BETA
aetherium.app
~77 commits / 90 days

Browser roguelike auto-battler. Slay-the-Spire-meets-OSRS.

  • Deterministic combat tick engine — seed + inputs → byte-identical replays
  • Strict data/code separation: pure data in /data, pure functions in /engine
  • React Three Fiber for 3D scenes; Zod at every Firebase boundary
  • File-size discipline — no file over 800 LOC except pure data
Next.js 15React 19ZustandZodReact Three FiberFirebaseCloudflare Worker

SerpCalls

LIVE
serpcalls.com
~59 commits / 90 days

SERP rank tracker for service businesses.

  • Multi-provider scraper with circuit-breaker fallback: Oxylabs → OpenSERP → DataForSEO
  • Dual-LLM strategy: Groq primary, Ollama fallback for cost-sensitive ops
  • Python FastAPI sidecar decoupled from Node.js scraper
  • Sockudo (Pusher-compatible) WebSocket for real-time leaderboard
TurborepoNext.js 16Node.jsFastAPIDrizzlePostgreSQLGroqOllama

SoCoUniverse

LIVE
socouniverse.com
~79 commits / 90 days

TCG tournament & deck platform for five card games.

  • Swiss pairings (multi-round, strength-of-schedule aware)
  • Multi-game card API abstraction: Scryfall, Pokemon TCG API, One Piece, Lorcana, Star Wars LCG
  • Discord bot (v14) with slash commands and auto-announcements
  • Tesseract.js OCR for scanning physical cards
  • Capacitor mobile build option
Next.js 16Firebasediscord.jsTesseract.jsCapacitorCloudflare Worker

mail-stack

INFRA
mail-stack (internal)

Pure-Cloudflare email stack. Inbound + outbound + archive, six domains pooled.

  • Email Routing catch-all on 6 zones → Worker → parallel R2 (raw MIME) + D1 (metadata)
  • /send endpoint used across properties; CF-verification-aware queuing
  • MTA-STS policy served per-domain from the Worker
  • Zero third-party relay — no SendGrid, Resend, or Mailgun
Cloudflare Workerpostal-mimeD1R2Email RoutingEmail Sending

§ 02 — Games & experiments

Things I build when nobody's paying me.

Rendline (EchoRPM)

Prototype · paused

Extraction shooter. Godot 4.5 client + NestJS matchmaking backend.

Godot 4.5NestJSSocket.ioFly.io

BubbaJump

80%

Precision platformer with charge-jump and resource budget mechanics.

Unity 6C#

RhymeLM

Research

Rap verse generation. RAG retrieval over indexed lyrics corpus with a real-time training dashboard.

PyTorchPythonFAISSFastAPI

tauri-plugin-push-notifications

Published · npm

Cross-platform notifications for Tauri desktop apps. Open source.

TauriRustTypeScript

NeuralNetworks

Learning

PyTorch experiments and notebooks. Building from scratch for understanding.

PyTorchJupyter

§ 03 — About

NorfBay is one person.

NorfBay LLC is operated by Robert Hernandez — engineer, builder, and single full-stack operator. Self-taught since 2013. The name is a mashup of North Side Long Beach and the Bay Area — where most of the work comes from.

The projects here are built and run by one person. That means the architecture decisions, the ops, the support, and the design all sit in the same head. I prefer that; it's how privacy-by-default, rapid iteration, and cost-aware infrastructure stay coherent.

Open to senior roles. I work best at small, ambitious teams where shipping is a verb, not a ceremony.

§ 04 — Contact

Let's talk.

Usually replies same day.