[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"page-skills":3,"navigation":106},{"id":4,"title":5,"body":6,"date":96,"description":97,"draft":98,"extension":99,"hideYear":100,"meta":101,"navigation":100,"path":102,"readingTime":89,"seo":103,"stem":104,"__hash__":105},"pages/pages/skills.md","Skills & Expertise",{"type":7,"value":8,"toc":87},"minimark",[9,18,21,28,32,37,40,52,55,59,69,71,75,78,80,84],[10,11,12,13,17],"p",{},"My expertise spans UI/UX design, full-stack development, cloud architecture, and AI, with a particular focus on ",[14,15,16],"strong",{},"rapid prototyping",".",[10,19,20],{},"I've been a coder and designer for over 25 years, writing JavaScript since the late 90s. I've been intertwined with its evolution and have a deep understanding of its runtime, compilation, and web performance.",[10,22,23],{},[24,25,27],"a",{"href":26},"/cv","View my CV →",[29,30],"skills-browser",{"filter":31},"Frontend",[33,34,36],"h3",{"id":35},"cloud","Cloud",[10,38,39],{},"Since 2012, I have developed a passion for cloud architecture and have a vast understanding of cloud platforms and their services (serverless, storage, compute, networking, etc).",[10,41,42,43,46,47,51],{},"One of my key interests is ",[14,44,45],{},"optimisation"," - smaller, simpler, faster and more efficient - across ",[48,49,50],"em",{},"all"," areas of development. This also helps me focus on security, privacy, scalability and the environmental impact of cloud computing.",[29,53],{"filter":54},"Backend",[33,56,58],{"id":57},"ai","AI",[10,60,61,62,64,65,68],{},"I’ve been working hands-on with ",[14,63,58],{}," and ",[14,66,67],{},"LLMs"," over the past few years. I’ve built many custom AI agents, chat systems, voice assistants, and vision systems.",[29,70],{"filter":58},[33,72,74],{"id":73},"design","Design",[10,76,77],{},"I come from a design background, studying typography and graphic design. I've worked at design-focused companies ATTIK, Digit London, AllofUs and Normally.",[29,79],{"filter":74},[33,81,83],{"id":82},"communication","Communication",[10,85,86],{},"I like to communicate complex ideas using simple language. I love to inspire my team and clients by explaining concepts with interactive prototypes.",{"title":88,"searchDepth":89,"depth":89,"links":90},"",2,[91,93,94,95],{"id":35,"depth":92,"text":36},3,{"id":57,"depth":92,"text":58},{"id":73,"depth":92,"text":74},{"id":82,"depth":92,"text":83},"2025-01-16","My expertise spans UI/UX design, full-stack development, cloud architecture, and AI, with a particular focus on rapid prototyping.",false,"md",true,{"hideMeta":100},"/pages/skills",{"title":5,"description":97},"pages/skills","RMrhYy2dZTIARho8VHBaDK7OziOFUwFczqzaiDWqcnM",[107],{"title":108,"path":109,"stem":110,"children":111,"page":98},"Articles","/articles","articles",[112,118,124,130,136,142,148,154,160,166,172,178,184,190,195],{"title":113,"path":114,"stem":115,"description":116,"date":117},"Still haven't found what you're looking for?","/articles/ai-search","articles/ai-search","AI-powered search is transforming web search.","2024-10-31",{"title":119,"path":120,"stem":121,"description":122,"date":123},"Big Emoji","/articles/big-emoji","articles/big-emoji","Building an app for my kids.","2024-06-23",{"title":125,"path":126,"stem":127,"description":128,"date":129},"It probably won’t be you","/articles/it-probably-wont-be-you","articles/it-probably-wont-be-you","An interactive exploration of our lottery instincts.","2024-06-11",{"title":131,"path":132,"stem":133,"description":134,"date":135},"My memory is shot","/articles/my-memory-is-shot","articles/my-memory-is-shot","Discovering the link between writing and memory.","2024-04-28",{"title":137,"path":138,"stem":139,"description":140,"date":141},"Quotes","/articles/quotes","articles/quotes","A collection of quotes I've heard and written down at some point in my life.","2024-03-29",{"title":143,"path":144,"stem":145,"description":146,"date":147},"TikTok goes your clock","/articles/tiktok-goes-your-clock","articles/tiktok-goes-your-clock","What I learned from quitting TikTok","2024-03-26",{"title":149,"path":150,"stem":151,"description":152,"date":153},"User testing fail","/articles/user-testing-fail","articles/user-testing-fail","Attempting to think like a kid when designing a kids app.","2024-03-20",{"title":155,"path":156,"stem":157,"description":158,"date":159},"George Harrison's hands","/articles/george-harrisons-hands","articles/george-harrisons-hands","You can replicate the setup, but not the experience.","2023-01-17",{"title":161,"path":162,"stem":163,"description":164,"date":165},"Things I learned in 2022","/articles/things-i-learned-in-2022","articles/things-i-learned-in-2022","Aside from all the emergence of AI.","2022-12-20",{"title":167,"path":168,"stem":169,"description":170,"date":171},"Counting unique visitors without using cookies, UIDs or fingerprinting.","/articles/cookieless-unique-visitor-counts","articles/cookieless-unique-visitor-counts","on withcabin.com","2022-11-30",{"title":173,"path":174,"stem":175,"description":176,"date":177},"Hang up.","/articles/hang-up","articles/hang-up","Steps for for avoiding scam calls.","2022-05-06",{"title":179,"path":180,"stem":181,"description":182,"date":183},"The “yes” transaction","/articles/yes","articles/yes","Why my contact lens service is my favourite transaction.","2022-01-04",{"title":185,"path":186,"stem":187,"description":188,"date":189},"One line of code","/articles/one-line-of-code","articles/one-line-of-code","How I built an API for the London 2012 Olympics with one line of code.","2021-05-11",{"title":191,"path":192,"stem":193,"description":194,"date":189},"The potential energy savings of deprecating Cloudflare's cfduid cookie.","/articles/the-deprecated-cookie","articles/the-deprecated-cookie","How removing a tiny cookie can have a big impact on carbon emissions.",{"title":196,"path":197,"stem":198,"description":199,"date":200},"Never launching","/articles/never-launching-products","articles/never-launching-products","It's not just about the launch, it's about the process.","2021-04-09",1772188377375]