1<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/_next/static/media/promoveritas-logo.2fe4572e.jpeg"/><link rel="preload" as="image" href="/_next/static/media/graze-logo.ad27c94d.jpeg"/><link rel="preload" as="image" href="/_next/static/media/aka-logo.38801b70.jpeg"/><link rel="preload" as="image" href="/_next/static/media/totally-tech.40ee0f6d.jpeg"/><link rel="stylesheet" href="/_next/static/css/ce0767d5633c486e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-05e10b2fb6ccce38.js"/>
1<script src="/_next/static/chunks/4bd1b696-100b9d70ed4e49c1.js" async=""></script>
1<script src="/_next/static/chunks/1255-642c76f13c20a3ec.js" async=""></script>
1<script src="/_next/static/chunks/main-app-b7ac91ae224968d9.js" async=""></script>
1<script src="/_next/static/chunks/3542-6a9735e20ef64218.js" async=""></script>
1<script src="/_next/static/chunks/4707-c3f5b377ffc608bd.js" async=""></script>
1<script src="/_next/static/chunks/887-1cc0a947a28b0b84.js" async=""></script>
1<script src="/_next/static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js" async=""></script>
1<script src="/_next/static/chunks/app/%5Blocale%5D/layout-fe986f7f6c8e5324.js" async=""></script>
1<meta name="next-size-adjust" content=""/><meta name="color-scheme" content="dark"/><meta name="theme-color" content="#1E1E1E"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="__variable_246ccd __variable_c29908 antialiased bg-dark text-white"><div hidden=""><!--$?--><template id="B:0"></template><!--/$--></div><header class="text-center py-6"><nav class="mb-10"><div class="flex justify-between items-center mx-6 mb-4 md:mx-20"><ul class="flex gap-4 list-none"><li><a class="decoration-solid underline decoration-primary underline-offset-6 hover:underline-offset-6 transition-all decoration-2" href="/en">Home</a></li><li><a class="hover:decoration-solid hover:underline hover:t decoration-primary underline-offset-4 transition-all decoration-2" href="/en/blog">Blog</a></li></ul><ul class="flex gap-4 list-none"><li><div class="relative mr-2 hover:cursor-pointer"><span class="sr-only">Change language</span><button class="flex hover:cursor-pointer items-center gap-1 hover:text-[#6EAA8B] transition-colors duration-200 focus:outline-none focus:text-[#6EAA8B]" aria-haspopup="listbox" aria-expanded="false" aria-label="Change language"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span class="font-medium min-w-[53px]">English</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></div></li></ul></div></nav><h1 class="font-bold text-2xl">Sammy Abukmeil</h1><h2 class="pt-2 text-xl">Full-Stack Developer</h2></header><main><section class="m-auto max-w-3xs md:max-w-md"><img alt="A photo of Sammy" loading="lazy" width="200" height="200" decoding="async" data-nimg="1" class="m-auto mb-6 rounded-4xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheadshot.5fced210.jpg&w=256&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheadshot.5fced210.jpg&w=640&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fheadshot.5fced210.jpg&w=640&q=75"/><p class="text-center">I'm passionate about learning and am currently diving into the world of<!-- --> <span class="underline underline-offset-2 decoration-primary">algorithms</span>,<!-- --> <span class="underline underline-offset-2 decoration-primary">data structures</span> <!-- -->and<!-- --> <span class="underline underline-offset-2 decoration-primary">design patterns</span></p><div class="flex justify-center mt-4"><div class="relative inline-block group "><button type="button" class="inline-flex items-center gap-2 text-xs px-2 py-1 rounded-md bg-primary/10 text-primary focus:outline-none focus:ring-2 focus:ring-primary" aria-describedby="jlpt-tooltip"><span class="font-semibold">JLPT <!-- -->N4</span></button><div id="jlpt-tooltip" role="tooltip" class="pointer-events-none absolute left-1/2 z-50 w-64 -translate-x-1/2 rounded-md bg-neutral-900 px-3 py-2 text-xs text-white opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100"><p class="">Japanese Language Proficiency Test (JLPT) N4 â Passed</p></div></div></div><div class="flex justify-center mt-6 gap-3"><a href="https://github.com/SammyAbukmeil" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 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></a><a href="https://www.linkedin.com/in/sammyabukmeil/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-linkedin"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect width="4" height="12" x="2" y="9"></rect><circle cx="4" cy="4" r="2"></circle></svg></a></div></section><section class="mt-12 px-4 md:px-0 m-auto container"><h3 class="font-bold text-2xl">Side Projects</h3><article class="my-6 max-w-[750px]"><details class="group details-animated"><summary class="cursor-pointer list-none [&::-webkit-details-marker]:hidden rounded-lg border border-zinc-700 p-3 transition-colors hover:border-primary hover:bg-primary/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><div class="flex items-center"><img src="/_next/static/media/the-kobe-yacht-club.c958febb.png" alt="A screenshot of The Kobe Yacht Club" class="w-8 aspect-square object-cover object-top mr-2 rounded-full"/><h4 class="font-bold text-xl mr-2">The Kobe Yacht Club</h4><span class="bg-primary p-1.5 rounded-2xl text-xs text-white">Live</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down w-4 h-4 ml-2 shrink-0 text-zinc-500 transition-transform duration-300 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="mt-2"><p>Built a WordPress site for a historic yacht club in Kobe (established 1890, reconstituted 2026), including a members-only area with gated pages behind login.</p></div></summary><div class="mt-4 min-h-0"><img alt="A screenshot of The Kobe Yacht Club" loading="lazy" width="750" height="500" decoding="async" data-nimg="1" class="w-full md:w-1/2" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fthe-kobe-yacht-club.c958febb.png&w=750&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fthe-kobe-yacht-club.c958febb.png&w=1920&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fthe-kobe-yacht-club.c958febb.png&w=1920&q=75"/><div class="mt-4"><p>Handled the build end to end, from local development through to deployment on Japanese hosting, DNS and
1SSL setup, and security hardening.</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>WordPress</li><li>PHP (custom child theme)</li><li>Ultimate Member</li><li>Bold Page Builder</li><li>ConoHa WING (hosting)</li></ul></section><section class="links mt-4"><h4 class="font-bold">Links</h4><ul class="pl-4"><li><a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://kobeyachtclub.jp">Website</a></li></ul></section></div></div></details></article><article class="my-6 max-w-[750px]"><details class="group details-animated"><summary class="cursor-pointer list-none [&::-webkit-details-marker]:hidden rounded-lg border border-zinc-700 p-3 transition-colors hover:border-primary hover:bg-primary/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><div class="flex items-center"><img src="/_next/static/media/aerialink.0ca20dee.png" alt="A screenshot of Aerialink" class="w-8 aspect-square object-cover object-top mr-2 rounded-full"/><h4 class="font-bold text-xl mr-2">Aerialink</h4><span class="bg-primary p-1.5 rounded-2xl text-xs text-white">Live</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down w-4 h-4 ml-2 shrink-0 text-zinc-500 transition-transform duration-300 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="mt-2"><p>Audited and optimised a Japanese e-commerce platform, fixing database query bottlenecks, cutting image payloads with edge caching, and setting up a CI/CD pipeline.</p></div></summary><div class="mt-4 min-h-0"><img alt="A screenshot of Aerialink" loading="lazy" width="750" height="500" decoding="async" data-nimg="1" class="w-full md:w-1/2" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Faerialink.0ca20dee.png&w=750&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Faerialink.0ca20dee.png&w=1920&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Faerialink.0ca20dee.png&w=1920&q=75"/><div class="mt-4"><p>The initial audit converted into follow-on contracts, including a security audit of the client's file storage platform.</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>Ruby on Rails</li><li>React</li><li>Cloudflare</li><li>GitHub Actions</li></ul></section><section class="links mt-4"><h4 class="font-bold">Links</h4><ul class="pl-4"><li><a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://aerialinkshop.jp">Website</a></li></ul></section></div></div></details></article><article class="my-6 max-w-[750px]"><details class="group details-animated"><summary class="cursor-pointer list-none [&::-webkit-details-marker]:hidden rounded-lg border border-zinc-700 p-3 transition-colors hover:border-primary hover:bg-primary/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><div class="flex items-center"><img src="/_next/static/media/mino.1f69bd6c.png" alt="A screenshot of Mino" class="w-8 aspect-square object-cover object-top mr-2 rounded-full"/><h4 class="font-bold text-xl mr-2">Mino</h4><span class="bg-primary p-1.5 rounded-2xl text-xs text-white">Live</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down w-4 h-4 ml-2 shrink-0 text-zinc-500 transition-transform duration-300 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="mt-2"><p>A native app to help non-verbal people communicate via text-to-speech. Users can create blocks with images and text, and when clicked, the app speaks the text.</p></div></summary><div class="mt-4 min-h-0"><img alt="A screenshot of Mino" loading="lazy" width="750" height="500" decoding="async" data-nimg="1" class="w-full md:w-1/2" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmino.1f
169bd6c.png&w=750&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmino.1f69bd6c.png&w=1920&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fmino.1f69bd6c.png&w=1920&q=75"/><div class="mt-4"><p>I built this app for my nephew who uses it daily! I have some other users who found the app organically.</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>React Native</li><li>Firebase<ul class="pl-6"><li>Auth</li><li>Storage</li><li>Firestore</li></ul></li><li>Expo Speech</li></ul></section><section class="links mt-4"><h4 class="font-bold">Links</h4><ul class="pl-4"><li><a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://play.google.com/store/apps/details?id=com.minoSpeak&pli=1">Google Play Store</a></li><li><a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://apps.apple.com/gb/app/mino-speak/id6449201524">Apple App Store</a></li></ul></section></div></div></details></article><article class="my-6 max-w-[750px]"><details class="group details-animated"><summary class="cursor-pointer list-none [&::-webkit-details-marker]:hidden rounded-lg border border-zinc-700 p-3 transition-colors hover:border-primary hover:bg-primary/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><div class="flex items-center"><img src="/_next/static/media/holmes.a9347767.png" alt="A screenshot of Holmes" class="w-8 aspect-square object-cover object-top mr-2 rounded-full"/><h4 class="font-bold text-xl mr-2">Holmes</h4><span class="bg-red-400 p-1.5 rounded-2xl text-xs text-white">Archived</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down w-4 h-4 ml-2 shrink-0 text-zinc-500 transition-transform duration-300 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="mt-2"><p>Freelance project collaborating with another developer to build the web interface for Holmes, a rental property review platform</p></div></summary><div class="mt-4 min-h-0"><img alt="A screenshot of Holmes" loading="lazy" width="750" height="500" decoding="async" data-nimg="1" class="w-full md:w-1/2" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fholmes.a9347767.png&w=750&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fholmes.a9347767.png&w=1920&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fholmes.a9347767.png&w=1920&q=75"/><div class="mt-4"><p>Built a web interface for an existing React Native app with Firebase backend, implementing designs from<!-- --> <a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://www.premonday.com">Premonday</a></p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>React</li><li>Firebase<ul class="pl-6"><li>Auth</li><li>Storage</li><li>Realtime Database</li></ul></li><li>Tailwind</li></ul></section><section class="links mt-4"><h4 class="font-bold">Links</h4><ul class="pl-4"><li><a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://holmes-app.com">Website</a></li></ul></section></div></div></details></article><article class="my-6 max-w-[750px]"><details class="group details-animated"><summary class="cursor-pointer list-none [&::-webkit-details-marker]:hidden rounded-lg border border-zinc-700 p-3 transition-colors hover:border-primary hover:bg-primary/5 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><div class="flex items-center"><img src="/_next/static/media/bia-bakes.842ba1fb.png" alt="A screenshot of Bia Bakes" class="w-8 aspect-square object-cover object-top mr-2 rounded-full"/><h4 class="font-bold text-xl mr-2">Bia Bakes</h4><span class="bg-red-400 p-1.5 rounded-2xl text-xs text-white">Archived</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down w-4 h-4 ml-2 shrink-0 text-zinc-500 transition-transform duration-300 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="mt-2"><p>Built a WordPress site with integrated CMS for a Jordanian bakery, enabling the client to independently manage their menu.</p></div></summary><div class="mt-4 min-h-0"><img alt="A screenshot of Bia Bakes" loading="lazy" width="750" height="500" decoding="async" data-nimg="1" class="w-full md:w-1/2" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbia-bakes.842ba1fb.png&w=750&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbia-bakes.842ba1fb.png&w=1920&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbia-bakes.842ba1fb.png&w=1920&q=75"/><div class="mt-4"><p>The site ran successfully for 3 years.</p><p class="mt-4">Designs by<!-- --> <a class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all" target="_blank" href="https://www.premonday.com">Premonday</a></p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>WordPress</li><li>AWS<ul class="pl-6"><li>EC2</li><li>RDS</li></ul></li></ul></section></div></div></details></article></section><div class="border-1 border-primary m-8"></div><section class="mt-12 px-4 md:px-0 m-auto container"><h3 class="font-bold text-2xl">Professional Experience</h3><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/sa-logo.d28f1bfc.png" alt="Freelance logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://www.linkedin.com/in/sammyabukmeil/" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">Freelance</h4></a></div><h4 class="font-bold text-l">Full Stack Software Engineer</h4><p class="italic">Mar '26 - Present</p><p><small>8 months and counting...</small></p><div class="mt-4"><p>Performance optimisation, security audits, and technical consulting for local and international e-commerce and web platforms since relocating to Japan. Clients include a Japanese e-commerce platform and The Kobe Yacht Club</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>Rails / React</li><li>Node.js</li><li>WordPress</li><li>Cloudflare</li><li>GCP</li><li>GitHub Actions</li><li>Claude Code</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/konrad-logo.87cae64d.jpeg" alt="Konrad Group logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://www.konrad.com" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">Konrad Group</h4></a></div><h4 class="font-bold text-l">
1Senior Software Developer</h4><p class="italic">Apr '25 - Nov '25</p><p><small>8 months</small></p><div class="mt-4"><p>Seconded from BrainStation to build web applications for enterprise clients at a global consultancy</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>React / Next.js</li><li>TypeScript</li><li>Node.js / Express</li><li>PostgreSQL</li><li>AWS</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/brainstation-logo.00cbc7a6.jpeg" alt="BrainStation logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://brainstation.io" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">BrainStation</h4></a></div><h4 class="font-bold text-l">Senior Educator</h4><p class="italic">Mar '22 - Apr '25</p><p><small>3 years</small></p><div class="mt-4"><p>Taught fullstack development to 500+ students across 20+ bootcamp cohorts internationally</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>React</li><li>Node.js / Express</li><li>MySQL</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/promoveritas-logo.2fe4572e.jpeg" alt="PromoVeritas logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://www.promoveritas.com" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">PromoVeritas</h4></a></div><h4 class="font-bold text-l">Senior Backend Developer</h4><p class="italic">Feb '21 - Mar '22</p><p><small>1 year</small></p><div class="mt-4"><p>Rebuilt a Laravel API for enterprise prize draw platform serving clients like Cadbury, Kellogg's, and Pepsi, handling tens of thousands of competition entries</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>Laravel</li><li>AWS (ECS, SQS, EventBridge, S3)</li><li>PHPUnit</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/graze-logo.ad27c94d.jpeg" alt="Graze logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://www.graze.com" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">Graze</h4></a></div><h4 class="font-bold text-l">Backend Engineer</h4><p class="italic">Mar '20 - Dec '20</p><p><small>9 months</small></p><div class="mt-4"><p>Built Electron desktop app for factory teams and maintained PHP subscription system managing hundreds of thousands of orders for snack box company</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>PHP</li><li>Electron / JavaScript</li><li>Vue.js</li><li>MySQL</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/aka-logo.38801b70.jpeg" alt="AKA UK logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://www.akauk.com" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">AKA UK</h4></a></div><h4 class="font-bold text-l">Full Stack Developer</h4><p class="italic">Sept '17 - Mar '20</p><p><small>2.5 years</small></p><div class="mt-4"><p>Built 30+ custom WordPress sites for West End theatre productions (Harry Potter, School of Rock, Matilda) in fast-paced agency environment</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>PHP</li><li>WordPress</li><li>MySQL</li></ul></section></div></article><article class="my-15 max-w-[750px]"><div class="flex"><img src="/_next/static/media/totally-tech.40ee0f6d.jpeg" alt="Totally Communications Ltd logo" class="w-8 mr-2 mb-2 rounded-full"/><a target="_blank" href="https://totally.tech" class="underline underline-offset-4 decoration-primary hover:underline-offset-6 transition-all"><h4 class="font-bold text-xl mb-1">Totally Communications Ltd</h4></a></div><h4 class="font-bold text-l">Full Stack Developer</h4><p class="italic">Jun '15 - May '17</p><p><small>2 years</small></p><div class="mt-4"><p>First developer role post-bootcamp, progressed from junior to mid-level within a year building WordPress and Zend Framework applications for small business clients</p><section class="tech-stack my-4"><h4 class="font-bold mb-2">Tech Stack</h4><ul class="pl-4"><li>PHP / Zend Framework</li><li>WordPress</li><li>MySQL</li><li>jQuery</li></ul></section></div></article></section></main><footer class="text-center my-10"><div class="flex justify-center gap-4 mb-4"><a href="https://github.com/SammyAbukmeil" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 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></a><a href="https://www.linkedin.com/in/sammyabukmeil/" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-linkedin"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect width="4" height="12" x="2" y="9"></rect><circle cx="4" cy="4" r="2"></circle></svg></a></div><p class="text-sm text-gray-400">© <!-- -->2026<!-- --> <!-- -->Sammy Abukmeil. All rights reserved.</p></footer><!--$?--><template id="B:1"></template><!--/$--><!--$--><!--/$-->
1<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
1<script src="/_next/static/chunks/webpack-05e10b2fb6ccce38.js" id="_R_" async=""></script>
1<div hidden id="S:1"></div>
1<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0}; 2$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:1","S:1")</script>
2<title>Portfolio | Sammy Abukmeil</title><meta name="description" content="Sammy's Software Development Portfolio"/><link rel="manifest" href="/manifest.json"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="icon" href="/icon0.svg?754bdd328272884b" type="image/svg+xml" sizes="any"/><link rel="icon" href="/icon1.png?b13aa1184ec19b26" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="/apple-icon.png?dcb6ae9707ae9afb" type="image/png" sizes="180x180"/>
2<script >document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script>
2<div hidden id="S:0"></div>
2<script>$RC("B:0","S:0")</script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9766,[],\"\"]\n3:I[98924,[],\"\"]\n5:I[12155,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\n7:I[38845,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\n8:I[54392,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\n9:I[75290,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\na:I[24431,[],\"OutletBoundary\"]\nc:I[15278,[],\"AsyncMetadataOutlet\"]\ne:I[24431,[],\"ViewportBoundary\"]\n10:I[24431,[],\"MetadataBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[57150,[],\"\"]\n15:I[81356,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"Image\"]\n16:I[52657,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\n17:I[3809,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"4707\",\"static/chunks/4707-c3f5b377ffc608bd.js\",\"887\",\"static/chunks/887-1cc0a947a28b0b84.js\",\"465\",\"static/chunks/app/%5Blocale%5D/page-6ac6ca4ca08cc188.js\"],\"default\"]\n1a:I[68955,[\"3542\",\"static/chunks/3542-6a9735e20ef64218.js\",\"8450\",\"static/chunks/app/%5Blocale%5D/layout-fe986f7f6c8e5324.js\"],\"Analytics\"]\n1b:I[80622,[],\"IconMark\"]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff"])</script>
2<script>self.__next_f.push([1,"2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ce0767d5633c486e.css\",\"style\"]\n"])</script>
2<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"66NPyIJi_cY6d0gfBaAMl\",\"p\":\"\",\"c\":[\"\",\"en\"],\"i\":false,\"f\":[[[\"\",{\"children\":[[\"locale\",\"en\",\"d\"],{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true]}],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"locale\",\"en\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ce0767d5633c486e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L4\"]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"$L5\",null,{\"isBlog\":false}],[\"$\",\"main\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{}],[\"$\",\"div\",null,{\"className\":\"border-1 border-primary m-8\"}],[\"$\",\"$L8\",null,{}]]}],[\"$\",\"$L9\",null,{}]],null,[\"$\",\"$La\",null,{\"children\":[\"$Lb\",[\"$\",\"$Lc\",null,{\"promise\":\"$@d\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":\"$L12\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"s\":false,\"S\":false}\n"])</script>
2<script>self.__next_f.push([1,"4:[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",null,{\"name\":\"color-scheme\",\"content\":\"dark\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#1E1E1E\"}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased bg-dark text-white\",\"children\":\"$L14\"}]]}]\n"])</script>
2<script>self.__next_f.push([1,"6:[\"$\",\"section\",null,{\"className\":\"m-auto max-w-3xs md:max-w-md\",\"children\":[[\"$\",\"$L15\",null,{\"className\":\"m-auto mb-6 rounded-4xl\",\"src\":{\"src\":\"/_next/static/media/headshot.5fced210.jpg\",\"height\":288,\"width\":288,\"blurDataURL\":\"data:image/jpeg;base64,/9j/2wBDAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/2wBDAQoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/wgARCAAIAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//aAAwDAQACEAMQAAAArQKf/8QAHRAAAQQCAwAAAAAAAAAAAAAAAQIDBBIABREhMf/aAAgBAQABPwCLMiubh95M1CmQEtA3NLV7R7xn/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAJBcf/aAAgBAgEBPwBbp//EABgRAAIDAAAAAAAAAAAAAAAAAAABAkJy/9oACAEDAQE/AJVyj//Z\",\"blurWidth\":8,\"blurHeight\":8},\"width\":200,\"height\":200,\"alt\":\"A photo of Sammy\"}],[\"$\",\"p\",null,{\"className\":\"text-center\",\"children\":[\"I'm passionate about learning and am currently diving into the world of\",\" \",[\"$\",\"span\",null,{\"className\":\"underline underline-offset-2 decoration-primary\",\"children\":\"algorithms\"}],\",\",\" \",[\"$\",\"span\",null,{\"className\":\"underline underline-offset-2 decoration-primary\",\"children\":\"data structures\"}],\" \",\"and\",\" \",[\"$\",\"span\",null,{\"className\":\"underline underline-offset-2 decoration-primary\",\"children\":\"design patterns\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex justify-center mt-4\",\"children\":[\"$\",\"$L16\",null,{}]}],[\"$\",\"div\",null,{\"className\":\"flex justify-center mt-6 gap-3\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://github.com/SammyAbukmeil\",\"target\":\"_blank\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-github\",\"children\":[[\"$\",\"path\",\"tonef\",{\"d\":\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 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\",\"9comsn\",{\"d\":\"M9 18c-4.51 2-5-2-7-2\"}],\"$undefined\"]}]}],[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/in/sammyabukmeil/\",\"target\":\"_blank\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-linkedin\",\"children\":[[\"$\",\"path\",\"c2jq9f\",{\"d\":\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"}],[\"$\",\"rect\",\"mk3on5\",{\"width\":\"4\",\"height\":\"12\",\"x\":\"2\",\"y\":\"9\"}],[\"$\",\"circle\",\"bt5ra8\",{\"cx\":\"4\",\"cy\":\"4\",\"r\":\"2\"}],\"$undefined\"]}]}]]}]]}]\n"])</script>
2<script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n"])</script>
2<script>self.__next_f.push([1,"14:[\"$\",\"$L17\",null,{\"formats\":\"$undefined\",\"locale\":\"en\",\"messages\":{\"Navigation\":{\"home\":\"Home\",\"blog\":\"Blog\"},\"HomePage\":{\"title\":\"Portfolio | Sammy Abukmeil\",\"description\":\"Sammy's Software Development Portfolio\",\"hero\":{\"title\":\"Sammy Abukmeil\",\"subtitle\":\"Full-Stack Developer\",\"intro\":\"I'm passionate about learning and am currently diving into the world of\",\"intro2\":\"algorithms\",\"intro3\":\",\",\"intro4\":\"data structures\",\"intro5\":\"and\",\"intro6\":\"design patterns\"}},\"Footer\":{\"copyright\":\"Sammy Abukmeil. All rights reserved.\"},\"Badges\":{\"JLPTN4\":{\"title\":\"JLPT N4\",\"short\":\"JLPT N4\",\"tooltip\":\"Japanese Language Proficiency Test (JLPT) N4 â Passed\"}},\"LocaleSwitcher\":{\"label\":\"Change language\",\"locale\":\"{locale, select, en {English} jp {æ¥æ¬èª} other {Unknown}}\"},\"SideProjects\":{\"title\":\"Side Projects\",\"kobeYachtClub\":{\"description1\":\"Built a WordPress site for a historic yacht club in Kobe (established 1890, reconstituted 2026), including a members-only area with gated pages behind login.\",\"description2\":\"Handled the build end to end, from local development through to deployment on Japanese hosting, DNS and SSL setup, and security hardening.\"},\"aerialink\":{\"description1\":\"Audited and optimised a Japanese e-commerce platform, fixing database query bottlenecks, cutting image payloads with edge caching, and setting up a CI/CD pipeline.\",\"description2\":\"The initial audit converted into follow-on contracts, including a security audit of the client's file storage platform.\"},\"mino\":{\"description1\":\"A native app to help non-verbal people communicate via text-to-speech. Users can create blocks with images and text, and when clicked, the app speaks the text.\",\"description2\":\"I built this app for my nephew who uses it daily! I have some other users who found the app organically.\"},\"holmes\":{\"description1\":\"Freelance project collaborating with another developer to build the web interface for Holmes, a rental property review platform\",\"description2\":\"Built a web interface for an existing React Native app with Firebase backend, implementing designs from\"},\"biaBakes\":{\"description1\":\"Built a WordPress site with integrated CMS for a Jordanian bakery, enabling the client to independently manage their menu.\",\"description2\":\"The site ran successfully for 3 years.\",\"description3\":\"Designs by\"},\"links\":{\"googlePlay\":\"Google Play Store\",\"appleStore\":\"Apple App Store\",\"website\":\"Website\"}},\"Experience\":{\"title\":\"Professional Experience\",\"freelanceTitle\":\"Freelance\",\"freelance\":\"Performance optimisation, security audits, and technical consulting for local and international e-commerce and web platforms since relocating to Japan. Clients include a Japanese e-commerce platform and The Kobe Yacht Club\",\"andCounting\":\"{duration} and counting...\",\"konrad\":\"Seconded from BrainStation to build web applications for enterprise clients at a global consultancy\",\"brainstation\":\"Taught fullstack development to 500+ students across 20+ bootcamp cohorts internationally\",\"promoveritas\":\"Rebuilt a Laravel API for enterprise prize draw platform serving clients like Cadbury, Kellogg's, and Pepsi, handling tens of thousands of competition entries\",\"graze\":\"Built Electron desktop app for factory teams and maintained PHP subscription system managing hundreds of thousands of orders for snack box company\",\"akauk\":\"Built 30+ custom WordPress sites for West End theatre productions (Harry Potter, School of Rock, Matilda) in fast-paced agency environment\",\"totally\":\"First developer role post-bootcamp, progressed from junior to mid-level within a year building WordPress and Zend Framework applications for small business clients\",\"present\":\"Present\",\"threeYears\":\"3 years\",\"oneYear\":\"1 year\",\"nineMonths\":\"9 months\",\"eightMonths\":\"8 months\",\"twoPointFiveYears\":\"2.5 years\",\"sixMonths\":\"6 months\",\"twoYears\":\"2 years\"},\"Project\":{\"live\":\"Live\",\"notLive\":\"Archived\",\"techStack\":\"Tech Stack\",\"links\":\"Links\"}}
2,\"now\":\"$undefined\",\"timeZone\":\"UTC\",\"children\":[\"$L18\",\"$L19\"]}]\n"])</script>
2<script>self.__next_f.push([1,"18:[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n19:[\"$\",\"$L1a\",null,{}]\n"])</script>
2<script>self.__next_f.push([1,"d:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Portfolio | Sammy Abukmeil\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Sammy's Software Development Portfolio\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"48x48\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon0.svg?754bdd328272884b\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/icon1.png?b13aa1184ec19b26\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?dcb6ae9707ae9afb\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L1b\",\"7\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
2<script>self.__next_f.push([1,"12:\"$d:metadata\"\n"])</script>
2</body></html>
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.