Files
williammarch.xyz/out/index.html
2026-04-02 19:13:46 +01:00

1 line
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en" class="__variable_245d8d __variable_97c177"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/27834908180db20f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/78fec81b34c4a365.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/b96d5d92142aa8a3.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d7d22eaa863b1ea7.js"/><script src="/_next/static/chunks/fd9d1056-b6e16a5f15b47ad4.js" async=""></script><script src="/_next/static/chunks/23-52e349ebfaaa730a.js" async=""></script><script src="/_next/static/chunks/main-app-ae0a4e6cad338534.js" async=""></script><script src="/_next/static/chunks/app/page-36895ca0935db1f7.js" async=""></script><title>William March — Software Engineer</title><meta name="description" content="Software engineer building precise, purposeful open-source tools."/><meta property="og:title" content="William March"/><meta property="og:description" content="Software engineer. Open-source builder."/><meta property="og:url" content="https://williammarch.xyz"/><meta property="og:site_name" content="William March"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="William March"/><meta name="twitter:description" content="Software engineer."/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body><a href="#main" class="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[200] focus:px-4 focus:py-2 focus:bg-white focus:text-black focus:rounded-lg focus:text-sm focus:font-semibold">Skip to main content</a><nav class="fixed top-0 left-0 right-0 z-50 h-[60px] flex items-center transition-all duration-300 bg-transparent" aria-label="Main navigation"><div class="w-full max-w-5xl mx-auto px-6 flex items-center justify-between gap-8"><a href="#" class="flex items-center gap-2.5 group" aria-label="William March"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" aria-hidden="true"><rect width="26" height="26" rx="5" fill="rgba(255,255,255,0.9)"></rect><path d="M4 7.5L9 19L13 9.5L17 19L22 7.5" stroke="#070707" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="text-sm font-semibold text-white/80 group-hover:text-white transition-colors duration-150 tracking-tight">William March</span></a><ul class="hidden md:flex items-center gap-7" role="list"><li><a href="#about" class="text-sm text-white/40 hover:text-white/80 transition-colors duration-150 font-medium">About</a></li><li><a href="#projects" class="text-sm text-white/40 hover:text-white/80 transition-colors duration-150 font-medium">Projects</a></li><li><a href="#activity" class="text-sm text-white/40 hover:text-white/80 transition-colors duration-150 font-medium">Activity</a></li><li><a href="#contact" class="text-sm text-white/40 hover:text-white/80 transition-colors duration-150 font-medium">Contact</a></li></ul><div class="hidden md:flex items-center gap-3"><a href="https://loud-cool-pigeon.01b529f7.katapult.cloud/m0dus" target="_blank" rel="noopener noreferrer" class="flex items-center gap-1.5 text-xs text-white/40 hover:text-white/70 transition-colors duration-150 font-mono" aria-label="Gitea profile"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.2c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg>gitea</a></div><button class="md:hidden p-1.5 rounded-md text-white/50 hover:text-white/80 hover:bg-white/[0.05] transition-all" aria-label="Toggle menu" aria-expanded="false"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></nav><main id="main"><section class="relative min-h-[100dvh] flex items-center noise overflow-hidden" aria-labelledby="hero-name"><div class="absolute inset-0 dot-grid opacity-[0.35] pointer-events-none" aria-hidden="true"></div><div class="absolute inset-0 pointer-events-none" style="background:radial-gradient(ellipse 80% 70% at 50% 60%, transparent 30%, #070707 100%)" aria-hidden="true"></div><div class="relative z-10 w-full max-w-5xl mx-auto px-6 pt-28 pb-24"><div class="flex flex-col gap-8 max-w-3xl"><div class="flex items-center gap-2 self-start"><span class="inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-medium text-white/50 bg-white/[0.04] border border-white/[0.07]"><span class="w-1.5 h-1.5 rounded-full bg-white/50 animate-pulse" aria-hidden="true"></span>Software Engineer</span></div><h1 id="hero-name" class="text-[clamp(3.5rem,10vw,8rem)] font-black leading-[0.9] tracking-[-0.05em] text-white">William<br/><span class="text-white/25">March</span></h1><p class="text-[clamp(1rem,2vw,1.25rem)] text-white/40 max-w-[44ch] leading-relaxed font-light">Building precise, purposeful, open-source software.</p><div class="flex flex-wrap gap-3"><a href="#projects" class="btn btn-primary">View work<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><path d="M5 12h14M12 5l7 7-7 7"></path></svg></a><a href="#contact" class="btn btn-ghost">Get in touch</a></div></div><div class="absolute bottom-10 left-6 flex items-center gap-2 text-white/20 text-xs font-mono" aria-hidden="true"><span class="w-[1px] h-8 bg-gradient-to-b from-transparent to-white/20"></span>scroll</div></div></section><section id="about" class="py-24 px-6" aria-labelledby="about-heading"><div class="max-w-5xl mx-auto grid md:grid-cols-[auto_1fr] gap-16 items-start"><div class="flex-shrink-0"><div class="glass w-40 h-40 md:w-48 md:h-48 flex items-center justify-center rounded-2xl overflow-hidden"><span class="text-6xl font-black text-white/10 tracking-tighter select-none">WM</span></div></div><div class="flex flex-col gap-6"><div><span class="label">About</span><h2 id="about-heading" class="text-[clamp(1.8rem,4vw,2.5rem)] font-black tracking-tight text-white leading-tight">Building software<br class="hidden sm:block"/> that matters.</h2></div><p class="text-white/50 leading-relaxed max-w-[52ch]">I&#x27;m a software engineer focused on writing clean, reliable code. I care about open-source tools that solve real problems — the kind that make other engineers&#x27; lives easier.</p><p class="text-white/50 leading-relaxed max-w-[52ch]">From small CLI utilities to complex systems, I approach every project with the same level of craft. Good code reads like good writing: clear, intentional, and easy to reason about.</p><div><p class="text-xs font-semibold uppercase tracking-widest text-white/30 mb-3">Stack</p><div class="flex flex-wrap gap-2"><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Go</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Python</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">TypeScript</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Rust</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Linux</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Docker</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">PostgreSQL</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Git</span><span class="px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default">Nix</span></div></div></div></div></section><section id="projects" class="py-24 px-6 bg-[#0a0a0a]" aria-labelledby="projects-heading"><div class="max-w-5xl mx-auto"><span class="label">Gitea · Public repos</span><div class="flex items-end justify-between mb-10"><h2 id="projects-heading" class="text-[clamp(1.8rem,4vw,2.5rem)] font-black tracking-tight text-white">Recent Projects</h2><a href="https://loud-cool-pigeon.01b529f7.katapult.cloud/m0dus" target="_blank" rel="noopener noreferrer" class="hidden sm:flex items-center gap-1.5 text-xs text-white/30 hover:text-white/60 transition-colors font-mono">All repos<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M7 17L17 7M7 7h10v10"></path></svg></a></div><div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4"><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div><div class="glass rounded-2xl p-5 flex flex-col gap-3"><div class="skel h-4 w-1/2"></div><div class="skel h-3 w-5/6"></div><div class="skel h-3 w-3/4"></div><div class="skel h-3 w-1/3 mt-auto"></div></div></div></div></section><section id="activity" class="py-24 px-6" aria-labelledby="activity-heading"><div class="max-w-5xl mx-auto"><span class="label">Gitea · Code activity</span><h2 id="activity-heading" class="text-[clamp(1.8rem,4vw,2.5rem)] font-black tracking-tight text-white mb-10">Contributions</h2><div class="grid grid-cols-2 sm:grid-cols-4 gap-3 mb-6"><div class="glass rounded-2xl px-5 py-4 flex flex-col gap-1"><span class="text-[10px] font-semibold uppercase tracking-[.1em] text-white/25">Contributions</span><span class="text-[clamp(1.4rem,3vw,2rem)] font-black text-white tabular-nums leading-none"></span><span class="text-xs text-white/30">this year</span></div><div class="glass rounded-2xl px-5 py-4 flex flex-col gap-1"><span class="text-[10px] font-semibold uppercase tracking-[.1em] text-white/25">Current streak</span><span class="text-[clamp(1.4rem,3vw,2rem)] font-black text-white tabular-nums leading-none"></span><span class="text-xs text-white/30">days</span></div><div class="glass rounded-2xl px-5 py-4 flex flex-col gap-1"><span class="text-[10px] font-semibold uppercase tracking-[.1em] text-white/25">Longest streak</span><span class="text-[clamp(1.4rem,3vw,2rem)] font-black text-white tabular-nums leading-none"></span><span class="text-xs text-white/30">days</span></div><div class="glass rounded-2xl px-5 py-4 flex flex-col gap-1"><span class="text-[10px] font-semibold uppercase tracking-[.1em] text-white/25">Active days</span><span class="text-[clamp(1.4rem,3vw,2rem)] font-black text-white tabular-nums leading-none"></span><span class="text-xs text-white/30">this year</span></div></div><div class="glass rounded-2xl p-5 sm:p-6 mb-4"><div class="flex flex-col gap-3"><div class="skel h-3 w-48"></div><div class="skel h-[120px] w-full rounded-xl"></div></div></div><div class="grid lg:grid-cols-[1fr_360px] gap-4"><div class="glass rounded-2xl p-5 sm:p-6"><div class="skel h-32 w-full rounded-xl"></div></div><div class="glass rounded-2xl p-5 sm:p-6 overflow-hidden"><div class="flex flex-col gap-4"><div class="flex gap-3"><div class="skel w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></div><div class="flex-1"><div class="skel h-2.5 w-1/3 mb-1.5"></div><div class="skel h-3.5 w-5/6"></div></div></div><div class="flex gap-3"><div class="skel w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></div><div class="flex-1"><div class="skel h-2.5 w-1/3 mb-1.5"></div><div class="skel h-3.5 w-5/6"></div></div></div><div class="flex gap-3"><div class="skel w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></div><div class="flex-1"><div class="skel h-2.5 w-1/3 mb-1.5"></div><div class="skel h-3.5 w-5/6"></div></div></div><div class="flex gap-3"><div class="skel w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></div><div class="flex-1"><div class="skel h-2.5 w-1/3 mb-1.5"></div><div class="skel h-3.5 w-5/6"></div></div></div><div class="flex gap-3"><div class="skel w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></div><div class="flex-1"><div class="skel h-2.5 w-1/3 mb-1.5"></div><div class="skel h-3.5 w-5/6"></div></div></div></div></div></div></div></section><section id="contact" class="py-24 px-6 bg-[#0a0a0a]" aria-labelledby="contact-heading"><div class="max-w-5xl mx-auto"><span class="label">Get in touch</span><h2 id="contact-heading" class="text-[clamp(1.8rem,4vw,2.5rem)] font-black tracking-tight text-white mb-10">Lets work together.</h2><div class="grid md:grid-cols-[280px_1fr] gap-6"><div class="flex flex-col gap-3"><a href="mailto:william@williammarch.xyz" class="glass rounded-xl p-4 flex items-center gap-3 group hover:border-white/[0.14] hover:-translate-x-[-4px] transition-all duration-150"><div class="w-8 h-8 rounded-lg bg-white/[0.05] flex items-center justify-center flex-shrink-0" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="1.8"><rect x="2" y="4" width="20" height="16" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></div><div class="min-w-0"><p class="text-[10px] text-white/25 uppercase tracking-wider">Email</p><p class="text-xs font-medium text-white/55 truncate group-hover:text-white/80 transition-colors">william@williammarch.xyz</p></div></a><a href="https://loud-cool-pigeon.01b529f7.katapult.cloud/m0dus" target="_blank" rel="noopener noreferrer" class="glass rounded-xl p-4 flex items-center gap-3 group hover:border-white/[0.14] hover:translate-x-1 transition-all duration-150"><div class="w-8 h-8 rounded-lg bg-white/[0.05] flex items-center justify-center flex-shrink-0" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="1.8"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.2c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div><div class="min-w-0"><p class="text-[10px] text-white/25 uppercase tracking-wider">Gitea</p><p class="text-xs font-medium text-white/55 truncate group-hover:text-white/80 transition-colors font-mono">loud-cool-pigeon.01b529f7.katapult.cloud<!-- -->/<!-- -->m0dus</p></div></a></div><form class="glass rounded-xl p-6 flex flex-col gap-4" noValidate=""><div class="grid sm:grid-cols-2 gap-4"><label class="flex flex-col gap-1.5"><span class="text-[10px] font-semibold uppercase tracking-wider text-white/30">Name</span><input type="text" required="" placeholder="Your name" autoComplete="name" class="bg-white/[0.03] border border-white/[0.08] rounded-lg px-3 py-2.5 text-sm text-white placeholder-white/20 outline-none transition-colors focus:border-white/[0.2] focus:ring-1 focus:ring-white/[0.1]" name="name"/></label><label class="flex flex-col gap-1.5"><span class="text-[10px] font-semibold uppercase tracking-wider text-white/30">Email</span><input type="email" required="" placeholder="you@example.com" autoComplete="email" class="bg-white/[0.03] border border-white/[0.08] rounded-lg px-3 py-2.5 text-sm text-white placeholder-white/20 outline-none transition-colors focus:border-white/[0.2] focus:ring-1 focus:ring-white/[0.1]" name="email"/></label></div><label class="flex flex-col gap-1.5"><span class="text-[10px] font-semibold uppercase tracking-wider text-white/30">Message</span><textarea name="message" required="" placeholder="What&#x27;s on your mind?" rows="4" class="bg-white/[0.03] border border-white/[0.08] rounded-lg px-3 py-2.5 text-sm text-white placeholder-white/20 outline-none resize-none transition-colors focus:border-white/[0.2] focus:ring-1 focus:ring-white/[0.1]"></textarea></label><div class="flex items-center gap-4"><button type="submit" class="btn btn-primary">Send message<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg></button></div></form></div></div></section></main><footer class="border-t border-white/[0.05] py-8 px-6"><div class="max-w-5xl mx-auto flex items-center justify-between flex-wrap gap-4 text-xs text-white/20 font-mono"><span>© <!-- -->2026<!-- --> William March</span><a href="https://loud-cool-pigeon.01b529f7.katapult.cloud/m0dus" target="_blank" rel="noopener noreferrer" class="hover:text-white/40 transition-colors">loud-cool-pigeon.01b529f7.katapult.cloud<!-- -->/<!-- -->m0dus</a><span>williammarch.xyz</span></div></footer><script src="/_next/static/chunks/webpack-d7d22eaa863b1ea7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/27834908180db20f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/78fec81b34c4a365.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/b96d5d92142aa8a3.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[5751,[],\"\"]\n6:I[8599,[\"931\",\"static/chunks/app/page-36895ca0935db1f7.js\"],\"default\"]\n7:I[8061,[\"931\",\"static/chunks/app/page-36895ca0935db1f7.js\"],\"default\"]\n8:I[4812,[\"931\",\"static/chunks/app/page-36895ca0935db1f7.js\"],\"default\"]\n9:I[4455,[\"931\",\"static/chunks/app/page-36895ca0935db1f7.js\"],\"default\"]\na:I[9275,[],\"\"]\nb:I[1343,[],\"\"]\nd:I[6130,[],\"\"]\ne:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b96d5d92142aa8a3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"SjGVucxWq3hLKhmA7Xzd4\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/\",\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L5\",[[\"$\",\"a\",null,{\"href\":\"#main\",\"className\":\"sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[200] focus:px-4 focus:py-2 focus:bg-white focus:text-black focus:rounded-lg focus:text-sm focus:font-semibold\",\"children\":\"Skip to main content\"}],[\"$\",\"$L6\",null,{}],[\"$\",\"main\",null,{\"id\":\"main\",\"children\":[[\"$\",\"section\",null,{\"className\":\"relative min-h-[100dvh] flex items-center noise overflow-hidden\",\"aria-labelledby\":\"hero-name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 dot-grid opacity-[0.35] pointer-events-none\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 pointer-events-none\",\"style\":{\"background\":\"radial-gradient(ellipse 80% 70% at 50% 60%, transparent 30%, #070707 100%)\"},\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"relative z-10 w-full max-w-5xl mx-auto px-6 pt-28 pb-24\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-8 max-w-3xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 self-start\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-medium text-white/50 bg-white/[0.04] border border-white/[0.07]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-1.5 h-1.5 rounded-full bg-white/50 animate-pulse\",\"aria-hidden\":\"true\"}],\"Software Engineer\"]}]}],[\"$\",\"h1\",null,{\"id\":\"hero-name\",\"className\":\"text-[clamp(3.5rem,10vw,8rem)] font-black leading-[0.9] tracking-[-0.05em] text-white\",\"children\":[\"William\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-white/25\",\"children\":\"March\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-[clamp(1rem,2vw,1.25rem)] text-white/40 max-w-[44ch] leading-relaxed font-light\",\"children\":\"Building precise, purposeful, open-source software.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-3\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#projects\",\"className\":\"btn btn-primary\",\"children\":[\"View work\",[\"$\",\"svg\",null,{\"width\":\"14\",\"height\":\"14\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2.5\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M5 12h14M12 5l7 7-7 7\"}]}]]}],[\"$\",\"a\",null,{\"href\":\"#contact\",\"className\":\"btn btn-ghost\",\"children\":\"Get in touch\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"absolute bottom-10 left-6 flex items-center gap-2 text-white/20 text-xs font-mono\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-[1px] h-8 bg-gradient-to-b from-transparent to-white/20\"}],\"scroll\"]}]]}]]}],[\"$\",\"section\",null,{\"id\":\"about\",\"className\":\"py-24 px-6\",\"aria-labelledby\":\"about-heading\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-5xl mx-auto grid md:grid-cols-[auto_1fr] gap-16 items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex-shrink-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"glass w-40 h-40 md:w-48 md:h-48 flex items-center justify-center rounded-2xl overflow-hidden\",\"children\":[\"$\",\"span\",null,{\"className\":\"text-6xl font-black text-white/10 tracking-tighter select-none\",\"children\":\"WM\"}]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"label\",\"children\":\"About\"}],[\"$\",\"h2\",null,{\"id\":\"about-heading\",\"className\":\"text-[clamp(1.8rem,4vw,2.5rem)] font-black tracking-tight text-white leading-tight\",\"children\":[\"Building software\",[\"$\",\"br\",null,{\"className\":\"hidden sm:block\"}],\" that matters.\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-white/50 leading-relaxed max-w-[52ch]\",\"children\":\"I'm a software engineer focused on writing clean, reliable code. I care about open-source tools that solve real problems — the kind that make other engineers' lives easier.\"}],[\"$\",\"p\",null,{\"className\":\"text-white/50 leading-relaxed max-w-[52ch]\",\"children\":\"From small CLI utilities to complex systems, I approach every project with the same level of craft. Good code reads like good writing: clear, intentional, and easy to reason about.\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs font-semibold uppercase tracking-widest text-white/30 mb-3\",\"children\":\"Stack\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2\",\"children\":[[\"$\",\"span\",\"Go\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Go\"}],[\"$\",\"span\",\"Python\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Python\"}],[\"$\",\"span\",\"TypeScript\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"TypeScript\"}],[\"$\",\"span\",\"Rust\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Rust\"}],[\"$\",\"span\",\"Linux\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Linux\"}],[\"$\",\"span\",\"Docker\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Docker\"}],[\"$\",\"span\",\"PostgreSQL\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"PostgreSQL\"}],[\"$\",\"span\",\"Git\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Git\"}],[\"$\",\"span\",\"Nix\",{\"className\":\"px-3 py-1 text-xs font-medium text-white/40 bg-white/[0.04] border border-white/[0.07] rounded-full hover:text-white/60 hover:border-white/[0.12] transition-colors duration-150 cursor-default\",\"children\":\"Nix\"}]]}]]}]]}]]}]}],[\"$\",\"$L7\",null,{}],[\"$\",\"$L8\",null,{}],[\"$\",\"$L9\",null,{}]]}],[\"$\",\"footer\",null,{\"className\":\"border-t border-white/[0.05] py-8 px-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-5xl mx-auto flex items-center justify-between flex-wrap gap-4 text-xs text-white/20 font-mono\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"© \",2026,\" William March\"]}],[\"$\",\"a\",null,{\"href\":\"https://loud-cool-pigeon.01b529f7.katapult.cloud/m0dus\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white/40 transition-colors\",\"children\":[\"loud-cool-pigeon.01b529f7.katapult.cloud\",\"/\",\"m0dus\"]}],[\"$\",\"span\",null,{\"children\":\"williammarch.xyz\"}]]}]}]]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_245d8d __variable_97c177\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Lc\"],\"globalErrorComponent\":\"$d\",\"missingSlots\":\"$We\"}]]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"William March — Software Engineer\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Software engineer building precise, purposeful open-source tools.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"William March\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Software engineer. Open-source builder.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://williammarch.xyz\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"William March\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:title\",\"content\":\"William March\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:description\",\"content\":\"Software engineer.\"}],[\"$\",\"meta\",\"11\",{\"name\":\"next-size-adjust\"}]]\n5:null\n"])</script></body></html>