const { useState, useEffect } = React;
/* ── tweak defaults ───────────────────────────────────────────────── */
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"accent": "crimson",
"wordmark": "karl-fox",
"kanji": "刃",
"beam": "medium",
"reticle": true,
"hud": true
}/*EDITMODE-END*/;
const ACCENTS = {
crimson: { "--accent": "#ff3a5e", "--accent-2": "#7dd3fc" },
cyan: { "--accent": "#5cdcff", "--accent-2": "#c084fc" },
magenta: { "--accent": "#d27bff", "--accent-2": "#5cdcff" },
toxic: { "--accent": "#b6ff3a", "--accent-2": "#5cdcff" },
ember: { "--accent": "#ff8a3a", "--accent-2": "#7dd3fc" },
};
const BEAM_OPACITY = { off: 0, low: 0.45, medium: 0.85, high: 1.2 };
/* ── live clock for the corner HUD (UTC) ────────────────────────── */
function useUTCClock() {
const [now, setNow] = useState(() => new Date());
useEffect(() => {
const t = setInterval(() => setNow(new Date()), 1000);
return () => clearInterval(t);
}, []);
// Render as UTC
const f = new Intl.DateTimeFormat("en-GB", {
timeZone: "UTC", hour12: false,
hour: "2-digit", minute: "2-digit", second: "2-digit",
});
const d = new Intl.DateTimeFormat("en-GB", {
timeZone: "UTC",
day: "2-digit", month: "2-digit", year: "2-digit",
});
return { time: f.format(now) + " Z", date: d.format(now).replaceAll("/", ".") };
}
/* ── geolocation from IP ────────────────────────────────────────── */
function useGeoLocation() {
const [geo, setGeo] = useState({ lat: "--.-°", lon: "--.-°", city: "--" });
useEffect(() => {
// Fetch geolocation from IP
fetch("https://ipapi.co/json/")
.then(res => res.json())
.then(data => {
const lat = Math.abs(data.latitude || 0).toFixed(4);
const lon = Math.abs(data.longitude || 0).toFixed(4);
const latDir = (data.latitude || 0) >= 0 ? "N" : "S";
const lonDir = (data.longitude || 0) >= 0 ? "E" : "W";
const city = data.city || "UNKNOWN";
setGeo({
lat: `${lat}° ${latDir}`,
lon: `${lon}° ${lonDir}`,
city: city.toUpperCase(),
});
})
.catch(() => {
// Fallback if geolocation fails
setGeo({ lat: "00.0000° N", lon: "000.0000° E", city: "OFFLINE" });
});
}, []);
return geo;
}
/* ── dynamic system status based on JST ────────────────────────── */
function useSystemStatus() {
const [ping, setPing] = useState(14);
useEffect(() => {
const t = setInterval(() => {
setPing(prev => Math.max(10, Math.min(45, prev + (Math.random() * 6 - 3))));
}, 2500);
return () => clearInterval(t);
}, []);
const estHour = new Date(new Date().toLocaleString("en-US", { timeZone: "America/New_York" })).getHours();
let label = "ACTIVE";
let color = "var(--good)";
let code = "0x01";
if (estHour >= 0 && estHour < 8) {
label = "DORMANT";
color = "var(--muted)";
code = "0x04";
} else if (estHour >= 18 || estHour < 9) {
label = "MONITORING";
color = "var(--accent-2)"; // Ice blue
code = "0x02";
}
return {
label,
color,
code,
ping: `${ping.toFixed(0)}ms`
};
}
/* ── light beam — the kold composition ────────────────────────────── */
function LightBeam({ intensity }) {
const op = BEAM_OPACITY[intensity] ?? BEAM_OPACITY.medium;
if (op === 0) return null;
return (
{/* central column of light */}
{/* tight god-rays */}
);
}
/* ── faint reticle watermark behind the wordmark ──────────────────── */
function ReticleWatermark() {
return (
{Array.from({ length: 36 }).map((_, i) => {
const a = (i * 360) / 36 * Math.PI / 180;
const r1 = 298, r2 = i % 9 === 0 ? 280 : 290;
const x1 = 300 + r1 * Math.cos(a), y1 = 300 + r1 * Math.sin(a);
const x2 = 300 + r2 * Math.cos(a), y2 = 300 + r2 * Math.sin(a);
return ;
})}
);
}
/* ── pulse dot — the i-dot of wordmark ─────────────────────────────── */
function PulseDot({ size = 14 }) {
return (
);
}
/* ── morphing text effect ────────────────────────────────────────────── */
function MorphingText({ fromText, toText, isMorphing, style }) {
const [displayText, setDisplayText] = useState(fromText);
const maxLen = Math.max(fromText.length, toText.length);
// Curated glitch set for organic, visual corruption feel
const glitchChars = "KARLFXOSYMBLI>!@#$%^&*_-+=~|/\\[]{}";
useEffect(() => {
if (!isMorphing) {
setDisplayText(toText);
return;
}
const morphDuration = 800; // ms
const startTime = Date.now();
// Pre-calculate when each character should settle (creates flowing wave)
const settleTimes = Array.from({ length: maxLen }).map((_, i) => {
// Earlier chars settle sooner, later chars settle later - smooth stagger
return 200 + (i / Math.max(maxLen - 1, 1)) * 500;
});
const morphInterval = setInterval(() => {
const elapsed = Date.now() - startTime;
const progress = Math.min(elapsed / morphDuration, 1);
let result = "";
for (let i = 0; i < maxLen; i++) {
const targetChar = toText[i];
const settleTime = settleTimes[i];
const settleWindow = 100; // 100ms window for character to resolve
// Time relative to this character's settlement window
const timeFromSettle = elapsed - settleTime;
if (timeFromSettle < -settleWindow) {
// Before settle window - full glitch chaos
result += glitchChars[Math.floor(Math.random() * glitchChars.length)];
} else if (timeFromSettle < settleWindow) {
// In settle window - gradually blend from glitch to target
// Power curve makes it feel like "resolving" smoothly
const blendFactor = (timeFromSettle + settleWindow) / (2 * settleWindow);
const resolveStrength = Math.pow(blendFactor, 2.5); // Eased power curve
result += Math.random() < resolveStrength ? targetChar : glitchChars[Math.floor(Math.random() * glitchChars.length)];
} else {
// After settle - always target
result += targetChar;
}
}
setDisplayText(result);
if (progress >= 1) {
clearInterval(morphInterval);
setDisplayText(toText);
}
}, 30); // ~33fps for smooth animation
return () => clearInterval(morphInterval);
}, [isMorphing, fromText, toText]);
return {displayText} ;
}
/* ── matrix rain effect ────────────────────────────────────────────── */
function MatrixRain({ isActive }) {
const [chars, setChars] = useState([]);
useEffect(() => {
if (!isActive) {
setChars([]);
return;
}
// Generate random matrix-style chars
const matrix = "01アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン";
const genChars = Array.from({ length: 12 }, (_, i) => ({
id: i,
char: matrix[Math.floor(Math.random() * matrix.length)],
left: Math.random() * 80 + 10, // 10-90% left
delay: Math.random() * 0.3, // staggered starts
duration: 0.8 + Math.random() * 0.2, // 0.8-1.0s fall time
}));
setChars(genChars);
}, [isActive]);
if (!isActive) return null;
return (
{chars.map((c) => (
{c.char}
))}
);
}
/* ── wordmark variants ─────────────────────────────────────────────── */
function Wordmark({ variant, kanji, isToggling, onToggle }) {
// shared visual: huge serif, slightly tracked-in, white-on-black, with one tiny accent moment.
const base = {
fontFamily: "var(--font-display)",
fontWeight: 600,
fontSize: "clamp(100px, 15vw, 220px)",
lineHeight: 0.92,
letterSpacing: "-0.05em",
color: "var(--text)",
margin: 0,
display: "inline-flex",
alignItems: "baseline",
gap: 0,
position: "relative",
};
if (variant === "karl-fox") {
return (
KARLFOX
);
}
if (variant === "symbollix") {
return (
S ymbollix
);
}
if (variant === "uppercase") {
return (
SPECIAL-K
);
}
if (variant === "kanji-embed") {
// "spec狐al-k" — the i becomes the kanji
return (
spec
{kanji}
al-k
);
}
// default: lowercase "special-k" with pulse-dot as the i-dot
return (
spec
ı
al-k
);
}
/* ── corner HUD blocks ────────────────────────────────────────────── */
function CornerHUD({ pos, lines }) {
const isRight = pos.includes("right");
const isBottom = pos.includes("bottom");
const p = {
position: "absolute",
[isBottom ? "bottom" : "top"]: 36,
[isRight ? "right" : "left"]: 44,
fontFamily: "var(--font-mono)",
fontSize: 10,
letterSpacing: "0.22em",
color: "var(--muted)",
textAlign: isRight ? "right" : "left",
lineHeight: 1.9,
zIndex: 5,
};
return (
{lines.map(([label, value, color], i) => (
{!isRight && {label} }
{value}
{isRight && {label} }
))}
);
}
/* ── center hero status pill ─────────────────────────────────────── */
function StatusPill({ city }) {
const [copied, setCopied] = useState(false);
const signal = "919.453.8267";
const handleCopy = () => {
navigator.clipboard.writeText(signal);
setCopied(true);
setTimeout(() => setCopied(false), 2000);
};
return (
e.currentTarget.style.borderColor = "var(--accent)"}
onMouseLeave={(e) => e.currentTarget.style.borderColor = "color-mix(in oklab, var(--accent) 40%, var(--line-2))"}
>
{copied ? (
SIGNAL COPIED
) : (
<>
CAPACITY: [■■□]
·
{city}
>
)}
);
}
/* ── nav links (top right) ────────────────────────────────────────── */
const NAV_LINKS = [
["top", "HOME", false],
["work", "WORK", false],
["biography", "BIOGRAPHY", false],
["recognition", "RECOGNITION", false],
["writing", "WRITING", false],
["contact", "CONTACT", false],
];
function TopChrome({ active, onOpen }) {
return (
{/* branding / back to home */}
{ e.preventDefault(); onOpen(null); }}
style={{
display: "flex", alignItems: "center", gap: 10,
fontFamily: "var(--font-mono)", fontSize: 11, letterSpacing: "0.15em",
color: active ? "var(--accent)" : "var(--muted)",
transition: "color 0.2s"
}}
>
SPECIAL-K
{/* nav */}
{NAV_LINKS.map(([id, label, ext]) => (
{ e.preventDefault(); onOpen(id === "top" ? null : id); }}
style={{
display: "inline-flex", alignItems: "center", gap: 4, position: "relative",
color: active === id ? "var(--accent)" : "var(--text)",
transition: "color 0.2s"
}}
onMouseEnter={(e) => { if (active !== id) e.currentTarget.style.color = "var(--accent)"; }}
onMouseLeave={(e) => { if (active !== id) e.currentTarget.style.color = "var(--text)"; }}
>
{label}
{ext && ↗ }
))}
);
}
/* ── biography section ────────────────────────────────────────────── */
function Biography() {
return (
{/* profile image background (morphing) */}
Bio // Profile
With nearly two decades in enterprise IT, my path has evolved from traditional
systems architecture and perimeter defense to the deep-layer vulnerabilities
of frontier AI models.
I specialize in the "structural" side of adversarial AI—moving beyond simple
jailbreaks to exploit the underlying tool-use protocols, agent orchestration
loops, and memory injection points that define modern agentic systems.
P.S. I run strictly on human_os v1.0 .
Automated connection requests go straight to /dev/null ,
so be sure to reach out like a real human. Coffee helps.
§ EXPERIENCE_MATRIX
{[
["2026—PRES", "Red Team AI Engineer, KPMG"],
["2018—2026", "Staff Systems Engineer, Siemens Healthineers"],
["2013—2018", "Senior Systems Engineer, Siemens Healthineers"],
["2010—2013", "Product Quality Lead/Analyst, Hill-Rom"],
].map(([y, r]) => (
{y}
{r}
))}
§ SPECIALIZATIONS
{[
"Agent Hijacking", "Tool-Use Injection", "RAG Poisoning",
"Model Red-Teaming", "Adversarial ML", "Zero-Trust Arch"
].map(s => (
{s}
))}
);
}
/* ── center hero stack ────────────────────────────────────────────── */
/* ── center hero stack ────────────────────────────────────────────── */
const BIRTH_DATE = 474768000; // Jan 17, 1985
function Hero({ wordmark, kanji, onOpen, isToggling, onToggleWordmark, geoLocation }) {
const [uptime, setUptime] = React.useState(Math.floor(Date.now() / 1000) - BIRTH_DATE);
const [bdaySeconds, setBdaySeconds] = React.useState(0);
React.useEffect(() => {
const calculateBday = () => {
const now = new Date();
let year = now.getFullYear();
let bday = new Date(year, 0, 17); // Jan 17 (months are 0-indexed)
if (now > bday) {
bday = new Date(year + 1, 0, 17);
}
return Math.floor((bday.getTime() - now.getTime()) / 1000);
};
const t = setInterval(() => {
setUptime(Math.floor(Date.now() / 1000) - BIRTH_DATE);
setBdaySeconds(calculateBday());
}, 1000);
setBdaySeconds(calculateBday());
return () => clearInterval(t);
}, []);
return (
{/* status pill */}
TTL: {bdaySeconds.toString().padStart(8, "0")}s
·
UPTIME: {uptime}s
·
{geoLocation.city}
{/* wordmark with toggle capability */}
{/* Morphing text overlay during toggle - persists across variant change */}
{isToggling && (
)}
{/* kanji-figure in the beam — the "freediver" */}
{wordmark !== "kanji-embed" && wordmark !== "karl-fox" && wordmark !== "symbollix" && (
{kanji}
)}
{/* tagline */}
Adversarial AI Researcher | Offensive Security | Systems Architect
Applying nearly two decades of enterprise IT experience to the structural vulnerabilities of next-generation AI.
{/* toggle hint */}
{(wordmark === "karl-fox" || wordmark === "symbollix") && (
click to toggle · press [S] or [K]
)}
{/* CTAs */}
onOpen("contact")}>Get in touch
onOpen("work")}>Selected work
);
}
function CTA({ children, primary, onClick }) {
const base = {
fontFamily: "var(--font-sans)",
fontWeight: 500,
fontSize: 14,
letterSpacing: "0.02em",
padding: "14px 26px",
border: "1px solid",
borderRadius: 2,
cursor: "pointer",
display: "inline-flex", alignItems: "center", gap: 10,
transition: "transform .15s ease, background .2s, color .2s, border-color .2s",
};
const styles = primary
? { ...base, background: "var(--accent)", color: "#0b0d16", borderColor: "var(--accent)", boxShadow: "0 0 0 0 var(--accent)" }
: { ...base, background: "transparent", color: "var(--text)", borderColor: "var(--line-2)" };
return (
{
e.currentTarget.style.transform = "translateY(-1px)";
if (!primary) e.currentTarget.style.borderColor = "var(--accent)";
}}
onMouseLeave={(e) => {
e.currentTarget.style.transform = "translateY(0)";
if (!primary) e.currentTarget.style.borderColor = "var(--line-2)";
}}
>
{children}
→
);
}
/* ── slide-over panels (work / recognition / writing / contact) ───────── */
const PANELS = {
work: {
title: "Current Deployment",
items: [
{ n: "01", year: "2026", t: "Project Deployment: Red Team AI Engineer @ KPMG", tag: "ACTIVE", c: "var(--accent)" },
],
},
recognition: {
title: "Recognition",
items: [
{ n: "RANK", year: "2025", t: "Diamond Ranking (Top 1%) · National Cyber League", tag: "NCL", logo: "uploads/diamondrank.png?v=2" },
{ n: "CERT", year: "2023", t: "RHCSA — Red Hat Certified System Administrator", tag: "RH", logo: "uploads/rhcsa.png" },
{ n: "DEGREE", year: "2028", t: "B.S. Cybersecurity & Information Assurance · WGU", tag: "WGU", logo: "uploads/wgu.png" },
{ n: "CERT", year: "2026", t: "Network+ · CompTIA", tag: "CT", logo: "uploads/Network+-png.png" },
{ n: "CERT", year: "2025", t: "A+ · CompTIA", tag: "CT", logo: "uploads/A+-png.png" },
{ n: "CERT", year: "2016", t: "Programming Certification · WakeTech", tag: "WT", logo: "uploads/waketech.png" },
{ n: "DEGREE", year: "2007", t: "B.A. Communications & Creative Multimedia · DKIT", tag: "DKIT", logo: "uploads/Dundalk-Institute-of-Technology-Logo-600x394.jpg" },
],
},
writing: {
title: "Writing",
custom: "writing",
},
contact: {
title: "Engagement",
custom: "contact",
},
};
/* ── writing section (DIAGNOSTIC_VER) ─────────────────────────── */
function Writing() {
const [selected, setSelected] = React.useState(null);
const items = window.WRITING || [];
return (
Writing // Diagnostic
DATA_STATUS: {items.length > 0 ? "LOADED" : "MISSING"} // COUNT: {items.length}
{items.map((it, i) => (
setSelected(it)} style={{ display: "block", background: "transparent", border: "1px solid var(--line-2)", color: "var(--text)", padding: 10, marginBottom: 10, width: "100%", textAlign: "left", cursor: "pointer" }}>
{it.t}
))}
{selected ? (
{selected.t}
{selected.body || "No body data."}
) : "Select an item"}
);
}
function Kv({ k, v, accent }) {
return (
{k}
{v}
);
}
function Work() {
const p = PANELS.work;
return (
{p.title} //
{p.items.map((it, i) => (
{it.n}
{it.year}
{it.t}
{it.tag}
))}
);
}
function Recognition() {
const [selected, setSelected] = React.useState(0);
const [mousePos, setMousePos] = React.useState({ x: 50, y: 50 });
const items = PANELS.recognition.items;
const active = items[selected];
const handleMouseMove = (e) => {
const rect = e.currentTarget.getBoundingClientRect();
setMousePos({
x: ((e.clientX - rect.left) / rect.width) * 100,
y: ((e.clientY - rect.top) / rect.height) * 100
});
};
return (
Recognition // Case
{/* Lid LCD */}
DATA_ENTRY_{String(selected + 1).padStart(3, "0")}
{active.t}
{active.tag.toUpperCase()} // {active.n}
{/* 3D Base */}
{items.map((it, i) => {
const isSel = selected === i;
const isRank = it.n === "RANK";
return (
setSelected(i)}
onClick={() => setSelected(i)}
style={{ position: "relative", aspectRatio: "1/1", display: "flex", alignItems: "center", justifyContent: "center" }}
>
{isRank && isSel &&
}
{isSel && (
)}
);
})}
);
}
function Contact() {
const p = PANELS.contact;
return (
{p.title} //
);
}
/* ── app shell ─────────────────────────────────────────────────────── */
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [open, setOpen] = useState(null);
const [isToggling, setIsToggling] = useState(false);
const [reticleRef, setReticleRef] = useState(null);
const clock = useUTCClock();
const geoLocation = useGeoLocation();
const status = useSystemStatus();
// Toggle wordmark and rotate reticle
const handleToggleWordmark = () => {
if (t.wordmark !== "karl-fox" && t.wordmark !== "symbollix") return;
// Trigger animation
setIsToggling(true);
if (reticleRef) {
reticleRef.classList.add("reticle-rotating");
}
// Switch variant at 400ms (midway through morph)
setTimeout(() => {
setTweak("wordmark", t.wordmark === "karl-fox" ? "symbollix" : "karl-fox");
}, 400);
// End morph animation and remove reticle rotation at 800ms
setTimeout(() => {
setIsToggling(false);
if (reticleRef) {
reticleRef.classList.remove("reticle-rotating");
}
}, 800);
};
// Keyboard shortcuts: S = Symbollix, K = Karl Fox
useEffect(() => {
const onKeyDown = (e) => {
if (e.target.tagName === "INPUT" || e.target.tagName === "TEXTAREA") return;
if (e.key.toUpperCase() === "S" && t.wordmark !== "symbollix") {
setIsToggling(true);
if (reticleRef) reticleRef.classList.add("reticle-rotating");
setTimeout(() => {
setTweak("wordmark", "symbollix");
}, 400);
setTimeout(() => {
setIsToggling(false);
if (reticleRef) reticleRef.classList.remove("reticle-rotating");
}, 800);
} else if (e.key.toUpperCase() === "K" && t.wordmark !== "karl-fox") {
setIsToggling(true);
if (reticleRef) reticleRef.classList.add("reticle-rotating");
setTimeout(() => {
setTweak("wordmark", "karl-fox");
}, 400);
setTimeout(() => {
setIsToggling(false);
if (reticleRef) reticleRef.classList.remove("reticle-rotating");
}, 800);
}
};
window.addEventListener("keydown", onKeyDown);
return () => window.removeEventListener("keydown", onKeyDown);
}, [t.wordmark, reticleRef]);
useEffect(() => {
const palette = ACCENTS[t.accent] || ACCENTS.crimson;
Object.entries(palette).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));
}, [t.accent]);
return (
<>
{/* background atmosphere */}
{/* faint grid */}
{/* the kold light beam */}
{/* HUD watermark reticle */}
{t.reticle &&
}
{/* Glowing kanji background in top-left */}
{t.wordmark === "karl-fox" ? "刃" : t.wordmark === "symbollix" ? "影" : t.kanji}
{/* top brand + nav */}
{/* top brand + nav */}
{/* HUD corners */}
{t.hud && (
<>
>
)}
{/* Main Content Area */}
{!open ? (
) : (
{(() => {
try {
return (
<>
{open === "work" &&
}
{open === "biography" &&
}
{open === "writing" &&
}
{open === "recognition" &&
}
{open === "contact" &&
}
>
);
} catch (e) {
return (
[ CRITICAL_RENDER_ERROR ]
{e.message}
);
}
})()}
)}
{/* Tweaks */}
setTweak("wordmark", v)}
/>
setTweak("kanji", v)}
/>
setTweak("accent", v)}
/>
setTweak("beam", v)}
/>
setTweak("reticle", v)} />
setTweak("hud", v)} />
>
);
}
ReactDOM.createRoot(document.getElementById("root")).render( );