<!DOCTYPE html><html lang="en" data-astro-cid-37fxchfa> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Adam Whiles — cloud architect, game dev, builder."><link rel="canonical" href="https://adamwhiles.com/"><title>Adam Whiles — Cloud Architect &amp; Builder</title><!-- Fonts --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="stylesheet" href="/_astro/BaseLayout.C0Omv9np.css"></head> <body class="flex flex-col min-h-screen" data-astro-cid-37fxchfa> <header class="sticky top-0 z-50 border-b" style="background-color: var(--color-bg); border-color: var(--color-border);" data-astro-cid-37fxchfa> <nav class="max-w-5xl mx-auto px-6 h-14 flex items-center justify-between" data-astro-cid-37fxchfa> <a href="/" class="font-mono text-sm font-semibold" style="color: var(--color-accent);" data-astro-cid-37fxchfa>
adam whiles<span class="cursor-blink" data-astro-cid-37fxchfa></span> </a> <ul class="flex items-center gap-6 text-sm font-mono" data-astro-cid-37fxchfa> <li data-astro-cid-37fxchfa> <a href="/projects" class="nav-link" style="color: var(--color-muted);" data-astro-cid-37fxchfa>projects</a> </li> <li data-astro-cid-37fxchfa> <a href="/blog" class="nav-link" style="color: var(--color-muted);" data-astro-cid-37fxchfa>blog</a> </li> <li data-astro-cid-37fxchfa> <a href="/about" class="nav-link" style="color: var(--color-muted);" data-astro-cid-37fxchfa>about</a> </li> </ul> </nav> </header> <main class="flex-1" data-astro-cid-37fxchfa>   <section class="max-w-5xl mx-auto px-6 pt-20 pb-16"> <p class="font-mono text-sm mb-4" style="color: var(--color-accent);">> whoami</p> <h1 class="font-mono text-4xl sm:text-5xl font-semibold leading-tight mb-4 cursor-blink" style="color: var(--color-text);">
adam whiles
</h1> <p class="font-mono text-lg sm:text-xl mb-6" style="color: var(--color-muted);">
cloud architect. game dev. builder.
</p> <p class="text-base max-w-xl leading-relaxed mb-8" style="color: var(--color-muted);">
I design cloud infrastructure by day and ship games and tools by night.
      Currently working through Rust and building the next Hello Hacker.
</p> <div class="flex flex-wrap gap-3"> <a href="/projects" class="font-mono text-sm px-4 py-2 rounded border transition-all duration-150" style="border-color: var(--color-accent); color: var(--color-accent); background: var(--color-accent-dim);">
view projects
</a> <a href="/blog" class="font-mono text-sm px-4 py-2 rounded border transition-all duration-150" style="border-color: var(--color-border); color: var(--color-muted);">
read blog
</a> </div> </section>  <section class="max-w-5xl mx-auto px-6 pb-20"> <div class="flex items-center gap-3 mb-8"> <span class="font-mono text-xs" style="color: var(--color-accent);">##</span> <h2 class="font-mono text-lg font-semibold" style="color: var(--color-text);">projects</h2> <div class="flex-1 h-px" style="background: var(--color-border);"></div> </div> <div class="grid sm:grid-cols-2 gap-4"> <article class="rounded-lg border p-5 flex flex-col gap-3 transition-colors duration-150 group" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-start justify-between gap-2"> <h3 class="font-mono text-sm font-semibold" style="color: var(--color-text);">Hello Hacker</h3> <a href="https://store.steampowered.com/app/4119130/HELLO_HACKER/" target="_blank" rel="noopener" class="font-mono text-xs px-2 py-0.5 rounded border shrink-0 hover:opacity-80 transition-opacity" style="border-color: var(--color-accent); color: var(--color-accent);"> Steam →
</a> </div> <p class="text-sm leading-relaxed" style="color: var(--color-muted);">A hacking-themed puzzle game. Take on the role of a hacker navigating terminals, cracking systems, and uncovering secrets.</p> <div class="flex flex-wrap gap-2 mt-auto pt-1"> <span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> gamedev </span><span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> steam </span> </div> </article><article class="rounded-lg border p-5 flex flex-col gap-3 transition-colors duration-150 group" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-start justify-between gap-2"> <h3 class="font-mono text-sm font-semibold" style="color: var(--color-text);">Hello Hacker: Project Nightfall</h3> <a href="https://store.steampowered.com/app/4380090/HELLO_HACKER__Project_Daybreak/" target="_blank" rel="noopener" class="font-mono text-xs px-2 py-0.5 rounded border shrink-0 hover:opacity-80 transition-opacity" style="border-color: var(--color-accent); color: var(--color-accent);"> In Development →
</a> </div> <p class="text-sm leading-relaxed" style="color: var(--color-muted);">The next chapter in the Hello Hacker universe. Currently in development. Featuring all new challenged and a full immersive desktop experience.</p> <div class="flex flex-wrap gap-2 mt-auto pt-1"> <span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> gamedev </span><span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> in dev </span> </div> </article><article class="rounded-lg border p-5 flex flex-col gap-3 transition-colors duration-150 group" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-start justify-between gap-2"> <h3 class="font-mono text-sm font-semibold" style="color: var(--color-text);">readfence</h3> <a href="https://readfence.com" target="_blank" rel="noopener" class="font-mono text-xs px-2 py-0.5 rounded border shrink-0 hover:opacity-80 transition-opacity" style="border-color: var(--color-accent); color: var(--color-accent);"> Visit →
</a> </div> <p class="text-sm leading-relaxed" style="color: var(--color-muted);">A simple, no frills, markdown file viewer written in Rust.</p> <div class="flex flex-wrap gap-2 mt-auto pt-1"> <span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> desktop </span><span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> tool </span> </div> </article><article class="rounded-lg border p-5 flex flex-col gap-3 transition-colors duration-150 group" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-start justify-between gap-2"> <h3 class="font-mono text-sm font-semibold" style="color: var(--color-text);">certranker</h3> <a href="https://certranker.com" target="_blank" rel="noopener" class="font-mono text-xs px-2 py-0.5 rounded border shrink-0 hover:opacity-80 transition-opacity" style="border-color: var(--color-accent); color: var(--color-accent);"> Visit →
</a> </div> <p class="text-sm leading-relaxed" style="color: var(--color-muted);">A tool for cloud professionals to explore and rank certifications by value, difficulty, and relevance.</p> <div class="flex flex-wrap gap-2 mt-auto pt-1"> <span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> cloud </span><span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> tool </span> </div> </article><article class="rounded-lg border p-5 flex flex-col gap-3 transition-colors duration-150 group" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-start justify-between gap-2"> <h3 class="font-mono text-sm font-semibold" style="color: var(--color-text);">credibledev</h3> <a href="https://www.youtube.com/@credibledev" target="_blank" rel="noopener" class="font-mono text-xs px-2 py-0.5 rounded border shrink-0 hover:opacity-80 transition-opacity" style="border-color: var(--color-accent); color: var(--color-accent);"> YouTube →
</a> </div> <p class="text-sm leading-relaxed" style="color: var(--color-muted);">A YouTube channel covering Linux, home labs, cloud architecture, and DevOps.</p> <div class="flex flex-wrap gap-2 mt-auto pt-1"> <span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> cloud </span><span class="font-mono text-xs px-2 py-0.5 rounded" style="background: var(--color-surface-raised); color: var(--color-muted);"> youtube </span> </div> </article> </div> </section>  <section class="max-w-5xl mx-auto px-6 pb-24"> <div class="flex items-center gap-3 mb-8"> <span class="font-mono text-xs" style="color: var(--color-accent);">##</span> <h2 class="font-mono text-lg font-semibold" style="color: var(--color-text);">latest posts</h2> <div class="flex-1 h-px" style="background: var(--color-border);"></div> <a href="/blog" class="font-mono text-xs hover:opacity-80" style="color: var(--color-accent);">all posts →</a> </div> <div class="flex flex-col gap-4"> <a href="/blog/rust-ownership-explained" class="group flex flex-col sm:flex-row sm:items-center gap-3 rounded-lg border p-4 transition-colors duration-150 hover:border-current" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-center gap-2 shrink-0"> <span class="font-mono text-xs" style="color: #f97316">
[rust]
</span> </div> <span class="font-mono text-sm font-medium group-hover:underline" style="color: var(--color-text);"> Rust Ownership: What Finally Made It Click </span> <span class="sm:ml-auto font-mono text-xs shrink-0" style="color: var(--color-muted);"> 10 Mar 2026 </span> </a><a href="/blog/shipping-hello-hacker-steam" class="group flex flex-col sm:flex-row sm:items-center gap-3 rounded-lg border p-4 transition-colors duration-150 hover:border-current" style="background: var(--color-surface); border-color: var(--color-border);"> <div class="flex items-center gap-2 shrink-0"> <span class="font-mono text-xs" style="color: #a855f7">
[gamedev]
</span> </div> <span class="font-mono text-sm font-medium group-hover:underline" style="color: var(--color-text);"> What I Learned Shipping Hello Hacker on Steam </span> <span class="sm:ml-auto font-mono text-xs shrink-0" style="color: var(--color-muted);"> 15 Jan 2026 </span> </a> </div> </section>  </main> <footer class="border-t mt-24 py-8" style="border-color: var(--color-border);" data-astro-cid-37fxchfa> <div class="max-w-5xl mx-auto px-6 flex flex-col sm:flex-row items-center justify-between gap-4" data-astro-cid-37fxchfa> <span class="font-mono text-xs" style="color: var(--color-muted);" data-astro-cid-37fxchfa>
© 2026 adam whiles
</span> <div class="flex items-center gap-5" data-astro-cid-37fxchfa> <a href="https://github.com/adamwhiles" target="_blank" rel="noopener" class="font-mono text-xs hover:opacity-80" style="color: var(--color-muted);" data-astro-cid-37fxchfa>github</a> <a href="https://www.youtube.com/@credibledev" target="_blank" rel="noopener" class="font-mono text-xs hover:opacity-80" style="color: var(--color-muted);" data-astro-cid-37fxchfa>youtube</a> <a href="https://www.linkedin.com/in/adamwhiles/" target="_blank" rel="noopener" class="font-mono text-xs hover:opacity-80" style="color: var(--color-muted);" data-astro-cid-37fxchfa>linkedin</a> </div> </div> </footer></body></html>