1import{a,f as s}from"../chunks/BsNHNd8y.js";import"../chunks/B3aGn5yv.js";const n=!0,r=Object.freeze(Object.defineProperty({__proto__:null,prerender:n},Symbol.toStringTag,{value:"Module"}));var i=s(`<section class="about"><h2 class="about__title">About</h2> <p>I'm a Software Engineer at <a href="https://www.ookla.com/" target="_blank" rel="noopener noreferrer">Ookla</a>, supporting its mission to improve global connectivity. My work focuses on designing, 2 developing and maintaining scalable, serverless applications across the full stack. I work 3 remotely and enjoy travelling, learning through new experiences and exploring novel 4 perspectives.</p> <p>I built and scaled <a href="https://www.aibase.com/tool/30391" target="_blank" rel="noopener noreferrer">CoverBot</a> during the early LLM wave, later selling it to a private investor at its peak. I'm currently working 5 on <a href="https://doclinkwatch.com/" target="_blank" rel="noopener noreferrer">DocLinkWatch</a>, 6 an automated document integrity monitoring platform for web, accessibility and compliance teams.</p> <p>I care about functional design, long-term maintainability and technology's role in broadening 7 access to knowledge and opportunity. My interests include <a href="https://www.indiehackers.com/start" target="_blank" rel="noopener noreferrer">indie hacking</a>, <a href="https://www.effectivealtruism.org/" target="_blank" rel="noopener noreferrer">earning to give</a> and the <a href="https://www.lua.org/about.html" target="_blank" rel="noopener noreferrer">Lua</a> ecosystem.</p> <p>As a T-shaped engineer with broad experience across the stack and a strong bias for autonomy and 8 execution, I work best in small, independent teams shipping quickly and efficiently. My focus 9 includes:</p> <ul class="about__skills svelte-cwls5q"><li class="about__skill-item"><div class="about__skill-text"><span class="about__skill-label svelte-cwls5q">Client-side</span>: SPAs, PWAs, mobile apps, component 10 architecture, testing infrastructure, build systems</div></li> <li class="about__skill-item"><div class="about__skill-text"><span class="about__skill-label svelte-cwls5q">Server-side</span>: API and CLI development, 11 authentication, DevOps, security, performance optimisation</div></li> <li class="about__skill-item"><div class="about__skill-text"><span class="about__skill-label svelte-cwls5q">Mobile dev</span>: native Android development with Kotlin; 12 cross-platform with Expo and Capacitor</div></li> <li class="about__skill-item"><div class="about__skill-text"><span class="about__skill-label svelte-cwls5q">Additional areas</span>: accessibility, SEO, analytics, 13 observability, end-to-end testing, performance</div></li></ul></section>`);function c(e){var t=i();a(e,t)}export{c as component,r as universal};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.