1 line
30 KiB
HTML
1 line
30 KiB
HTML
<!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-e4b4a13bfefcd1ba.js" async=""></script><script src="/_next/static/chunks/main-app-ae0a4e6cad338534.js" async=""></script><script src="/_next/static/chunks/app/page-b2da56bdacb132a9.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://git.williammarch.xyz/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'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><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://git.williammarch.xyz/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">Let’s 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://git.williammarch.xyz/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">git.williammarch.xyz<!-- -->/<!-- -->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'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://git.williammarch.xyz/m0dus" target="_blank" rel="noopener noreferrer" class="hover:text-white/40 transition-colors">git.williammarch.xyz<!-- -->/<!-- -->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-b2da56bdacb132a9.js\"],\"default\"]\n7:I[8061,[\"931\",\"static/chunks/app/page-b2da56bdacb132a9.js\"],\"default\"]\n8:I[4812,[\"931\",\"static/chunks/app/page-b2da56bdacb132a9.js\"],\"default\"]\n9:I[4455,[\"931\",\"static/chunks/app/page-b2da56bdacb132a9.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\":\"UXvjtT4AOYS3yU41BpIyx\",\"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://git.williammarch.xyz/m0dus\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white/40 transition-colors\",\"children\":[\"git.williammarch.xyz\",\"/\",\"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> |