<!DOCTYPE html><!--4NhG2VR8dZsrAuDT8P3Ok--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/images/vortex.png"/><link rel="preload" as="image" href="/images/kyam.png"/><link rel="preload" as="image" href="/images/remus.png"/><link rel="preload" as="image" href="/images/brad.jpg"/><link rel="stylesheet" href="/_next/static/chunks/0e3b34dde3969310.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/d0e9ed6bd7de5270.js"/><script src="/_next/static/chunks/c258d872255e4dac.js" async=""></script><script src="/_next/static/chunks/8f02d17ed0289fd9.js" async=""></script><script src="/_next/static/chunks/2d67c5fb9d2cf758.js" async=""></script><script src="/_next/static/chunks/turbopack-7b0b2f80bff68142.js" async=""></script><script src="/_next/static/chunks/614bab41cb9af342.js" async=""></script><script src="/_next/static/chunks/f96a0f45c0445e01.js" async=""></script><script src="/_next/static/chunks/61bc785dc6bd3109.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script><script src="/_next/static/chunks/e05addd7077d4f32.js" async=""></script><script src="/_next/static/chunks/dd0f62d390b69299.js" async=""></script><script src="/_next/static/chunks/5e16eed8ae7d8279.js" async=""></script><meta name="next-size-adjust" content=""/><title>Freelance Web Developer London | Brad McAllister - Web Designer &amp; Developer</title><meta name="description" content="Expert freelance web developer &amp; designer in London. Specializing in React, Next.js, WordPress development, and custom web applications. 15+ years building high-performance websites for UK businesses."/><meta name="author" content="Brad McAllister"/><meta name="keywords" content="freelance web developer London, London web developer, hire web developer London, React developer London, Next.js developer London, WordPress developer London, custom web development UK, freelance web designer London, web development services London, full stack developer London"/><meta name="creator" content="Brad McAllister"/><meta name="publisher" content="Brad McAllister"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Freelance Web Developer London | Brad McAllister"/><meta property="og:description" content="Expert freelance web developer &amp; designer in London. Specializing in React, Next.js, WordPress development, and custom web applications for UK businesses."/><meta property="og:url" content="https://bradmcallister.com"/><meta property="og:site_name" content="Brad McAllister"/><meta property="og:locale" content="en_GB"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@bradmcallister"/><meta name="twitter:title" content="Freelance Web Developer London | Brad McAllister"/><meta name="twitter:description" content="Expert freelance web developer &amp; designer in London. React, Next.js, WordPress specialist with 15+ years experience."/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="inter_5972bc34-module__OU16Qa__className"><div hidden=""><!--$--><!--/$--></div><nav class="fixed top-4 left-0 right-0 z-50 transition-all duration-300" style="transform:translateY(-100px)"><div class="max-w-6xl mx-auto px-4"><div class="glass backdrop-blur-xl border border-white/20 shadow-2xl rounded-full px-6 py-3 transition-all duration-300 bg-white/5"><div class="flex items-center justify-between gap-8"><a class="flex items-center space-x-2" href="/"><div class="w-10 h-10 rounded-full bg-gradient-to-r from-purple-500 to-pink-500 flex items-center justify-center"><span class="text-white font-bold text-lg">BM</span></div><span class="text-white font-semibold text-xl hidden sm:block">Brad McAllister</span></a><div class="hidden lg:flex items-center space-x-6"><div class="relative"><button class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10 flex items-center gap-1">Services<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-3 h-3" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><a class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10" href="/work">Work</a><a class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10" href="/about">About</a><a class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10" href="/technologies">Technologies</a><a class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10" href="/blog">Blog</a><a class="text-white/80 hover:text-white transition-colors duration-200 font-medium text-sm px-3 py-2 rounded-full hover:bg-white/10" href="/faq">FAQ</a></div><div class="hidden md:flex items-center space-x-3"><button class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:text-accent-foreground h-9 text-white hover:bg-white/20 rounded-full px-4 py-2 text-sm"><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-phone w-4 h-4 mr-2" aria-hidden="true"><path d="M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"></path></svg><a target="_blank" href="https://meeting.calendarhero.com/callrealcode">Book a call</a></button><button class="inline-flex items-center justify-center whitespace-nowrap ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 h-9 font-medium rounded-full px-4 py-2 text-sm bg-gradient-to-r from-purple-500/20 to-pink-500/20 border border-white/30"><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-mail w-4 h-4 mr-2" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><a href="/contact">Get in touch</a></button></div><button class="lg:hidden text-white p-2 rounded-full hover:bg-white/10 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></div></nav><main class="min-h-screen"><div class="relative"><div class="fixed inset-0 -z-10"><canvas class="w-full h-full" style="background:linear-gradient(135deg, #1e3c72 0%, #2a5298 25%, #764ba2 50%, #f093fb 75%, #f5576c 100%)"></canvas><div class="absolute inset-0 overflow-hidden"></div></div><section class="relative min-h-screen flex items-center justify-center px-4 sm:px-6 lg:px-8 pt-20 sm:pt-16"><div class="max-w-4xl mx-auto text-center"><div class="mb-8" style="opacity:0;transform:translateY(30px)"><div class="text-4xl sm:text-5xl lg:text-7xl font-bold text-white mb-6 leading-tight break-words" style="word-break:keep-all;overflow-wrap:break-word"><h1>Freelance Web <span class="bg-gradient-to-r from-purple-400 to-pink-400 bg-clip-text text-transparent">Developer &amp; Designer</span></h1></div><p class="text-xl sm:text-2xl text-white/80 mb-8 max-w-3xl mx-auto leading-relaxed">I&#x27;m a UK based, freelance web developer &amp; designer specializing in React, Next.js, and WordPress. Building accessible, high-performance websites for London businesses for over 15 years.</p></div><div class="flex flex-col sm:flex-row gap-4 justify-center mb-16" style="opacity:0;transform:translateY(20px)"><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 border-white/30 h-11 rounded-md text-lg px-8 py-4" href="/work">View My Work<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-arrow-right ml-2 w-5 h-5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:text-accent-foreground h-11 rounded-md text-lg px-8 py-4 text-white hover:bg-white/10" href="/contact">Get In Touch</a></div><div class="grid grid-cols-2 lg:grid-cols-4 gap-6 max-w-4xl mx-auto" style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="p-6 text-center"><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-users w-8 h-8 text-white/80 mx-auto mb-3" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><div class="text-2xl font-bold text-white mb-1">50+</div><div class="text-sm text-white/70">Happy Clients</div></div></div><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="p-6 text-center"><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-award w-8 h-8 text-white/80 mx-auto mb-3" aria-hidden="true"><path d="m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"></path><circle cx="12" cy="8" r="6"></circle></svg><div class="text-2xl font-bold text-white mb-1">200+</div><div class="text-sm text-white/70">Projects Completed</div></div></div><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="p-6 text-center"><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-star w-8 h-8 text-white/80 mx-auto mb-3" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><div class="text-2xl font-bold text-white mb-1">15+</div><div class="text-sm text-white/70">Years Experience</div></div></div><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="p-6 text-center"><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-zap w-8 h-8 text-white/80 mx-auto mb-3" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><div class="text-2xl font-bold text-white mb-1">2-4 weeks</div><div class="text-sm text-white/70">Fast Delivery</div></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-7xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>What I Do</h2></div><p class="text-xl text-white/80 max-w-3xl mx-auto">Specializing in modern web development and design for businesses across London and the UK</p></div><div class="grid md:grid-cols-3 gap-8"><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-8"><h3 class="text-2xl font-bold text-white mb-4">Web Design &amp; Development</h3><p class="text-white/80 mb-6">Modern, responsive websites that convert visitors into customers</p><ul class="space-y-2"><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Responsive Design</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>SEO Optimized</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Fast Loading</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Mobile First</li></ul></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-8"><h3 class="text-2xl font-bold text-white mb-4">UI/UX Design</h3><p class="text-white/80 mb-6">User-centered design that creates exceptional digital experiences</p><ul class="space-y-2"><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>User Research</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Wireframing</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Prototyping</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>User Testing</li></ul></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-8"><h3 class="text-2xl font-bold text-white mb-4">E-commerce Solutions</h3><p class="text-white/80 mb-6">Complete online stores that drive sales and grow your business</p><ul class="space-y-2"><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Shopping Cart</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Payment Integration</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Inventory Management</li><li class="flex items-center text-white/70"><div class="w-2 h-2 bg-purple-400 rounded-full mr-3"></div>Analytics</li></ul></div></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-7xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>Some of My Latest Work</h2></div><p class="text-xl text-white/80 max-w-3xl mx-auto">A selection of recent projects showcasing modern web design and development</p></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-12"><div style="opacity:0;transform:translateY(20px)"><a target="_blank" rel="noopener noreferrer" href="https://www.vortexbuild.com/"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md hover:bg-white/10 transition-all duration-300 group"><div class="p-0"><div class="aspect-video relative overflow-hidden rounded-t-lg"><img src="/images/vortex.png" alt="Vortex Build" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"/><div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent"></div><div class="absolute bottom-4 left-4"><span class="text-xs text-purple-300 bg-purple-500/20 px-2 py-1 rounded-full">Construction &amp; Fit-Out</span></div></div><div class="p-6"><h3 class="text-xl font-bold text-white mb-2">Vortex Build</h3><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">View Project</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div></a></div><div style="opacity:0;transform:translateY(20px)"><a target="_blank" rel="noopener noreferrer" href="https://www.knightyoung.co.uk/"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md hover:bg-white/10 transition-all duration-300 group"><div class="p-0"><div class="aspect-video relative overflow-hidden rounded-t-lg"><img src="/images/kyam.png" alt="Knight Young" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"/><div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent"></div><div class="absolute bottom-4 left-4"><span class="text-xs text-purple-300 bg-purple-500/20 px-2 py-1 rounded-full">Real Estate &amp; Investment</span></div></div><div class="p-6"><h3 class="text-xl font-bold text-white mb-2">Knight Young</h3><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">View Project</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div></a></div><div style="opacity:0;transform:translateY(20px)"><a target="_blank" rel="noopener noreferrer" href="https://www.remusit.com"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md hover:bg-white/10 transition-all duration-300 group"><div class="p-0"><div class="aspect-video relative overflow-hidden rounded-t-lg"><img src="/images/remus.png" alt="Remus IT Managed Services" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"/><div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent"></div><div class="absolute bottom-4 left-4"><span class="text-xs text-purple-300 bg-purple-500/20 px-2 py-1 rounded-full">IT Services</span></div></div><div class="p-6"><h3 class="text-xl font-bold text-white mb-2">Remus IT Managed Services</h3><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">View Project</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div></a></div></div><div class="text-center"><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 border-white/30 h-11 rounded-md text-lg px-8 py-4" href="/work">View All Projects<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-arrow-right ml-2 w-5 h-5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-7xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>Bespoke Web Design from Start to Finish</h2></div><p class="text-xl text-white/80 max-w-3xl mx-auto mb-8">I handle everything, so you&#x27;re not up at midnight Googling &quot;how to make a website&quot;. You get a custom site that looks sharp, loads fast, and won&#x27;t make your customers cringe.</p><a class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 border-white/30 h-10 px-4 py-2 mb-12" href="/services">View All Services<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-arrow-right ml-2 w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div><div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6"><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-6 text-center"><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-message-circle w-12 h-12 text-purple-400 mx-auto mb-4" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg><h3 class="text-lg font-bold text-white mb-3">Discovery &amp; Planning</h3><p class="text-white/70 text-sm">Understanding your business goals, target audience, and project requirements to create a solid foundation.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-6 text-center"><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-palette w-12 h-12 text-purple-400 mx-auto mb-4" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><h3 class="text-lg font-bold text-white mb-3">Design &amp; Wireframing</h3><p class="text-white/70 text-sm">Creating user-centered designs and wireframes that prioritize usability and visual appeal.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-6 text-center"><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-code w-12 h-12 text-purple-400 mx-auto mb-4" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg><h3 class="text-lg font-bold text-white mb-3">Development &amp; Testing</h3><p class="text-white/70 text-sm">Building your website with clean, efficient code and rigorous testing across all devices.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300"><div class="p-6 text-center"><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-rocket w-12 h-12 text-purple-400 mx-auto mb-4" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg><h3 class="text-lg font-bold text-white mb-3">Launch &amp; Optimization</h3><p class="text-white/70 text-sm">Deploying your site and providing ongoing support to ensure optimal performance.</p></div></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-6xl mx-auto"><div class="grid lg:grid-cols-2 gap-12 items-center"><div style="opacity:0;transform:translateX(-20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>About Me</h2></div><p class="text-xl text-white/80 mb-6">I&#x27;m Brad McAllister, a freelance web developer and designer based in London, creating high-performance, accessible websites for clients across the UK since 2009.</p><p class="text-white/70 mb-8">With over 15 years of experience, I&#x27;ve helped 150+ businesses establish their online presence through custom web development, design, and digital strategy. I specialize in React, Next.js, WordPress, and building custom web applications that not only look great but also drive measurable results for your business.</p><div class="grid grid-cols-2 gap-6"><div class="flex items-start space-x-3"><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-award w-5 h-5 text-purple-400 mt-1 flex-shrink-0" aria-hidden="true"><path d="m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"></path><circle cx="12" cy="8" r="6"></circle></svg><span class="text-white/80 text-sm">15+ years of freelance experience</span></div><div class="flex items-start space-x-3"><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-rocket w-5 h-5 text-purple-400 mt-1 flex-shrink-0" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg><span class="text-white/80 text-sm">200+ websites designed &amp; launched</span></div><div class="flex items-start space-x-3"><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-users w-5 h-5 text-purple-400 mt-1 flex-shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-white/80 text-sm">Clients of all shapes and sizes</span></div><div class="flex items-start space-x-3"><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-code w-5 h-5 text-purple-400 mt-1 flex-shrink-0" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg><span class="text-white/80 text-sm">Designer &amp; developer combined</span></div></div></div><div class="relative" style="opacity:0;transform:translateX(20px)"><div class="aspect-square relative overflow-hidden rounded-2xl"><img src="/images/brad.jpg" alt="Brad McAllister - Freelance Web Developer &amp; Designer London" class="w-full h-full object-cover"/></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-7xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>What My Clients Say</h2></div><p class="text-xl text-white/80 max-w-3xl mx-auto">Don&#x27;t just take my word for it - here&#x27;s what some of my clients have to say about working with me</p></div><div class="grid md:grid-cols-2 gap-8"><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full"><div class="p-8"><div class="flex items-center mb-4"><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></div><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-quote w-8 h-8 text-purple-400 mb-4" aria-hidden="true"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="text-white/80 mb-6 italic">&quot;<!-- -->Working with Brad &amp; Real Code Ltd was a great experience. Brad is easy to communicate with and listened to what our idea and vision was. He delivered a good website and gave excellent design input.<!-- -->&quot;</p><div><div class="font-bold text-white">Amritpal Khalsa</div><div class="text-white/60 text-sm">Business Owner</div></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full"><div class="p-8"><div class="flex items-center mb-4"><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></div><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-quote w-8 h-8 text-purple-400 mb-4" aria-hidden="true"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="text-white/80 mb-6 italic">&quot;<!-- -->From start to finish, we had help, support, advice and the whole process was headache free. I have passed on Real Code details to many colleagues as I highly recommend their professional service.<!-- -->&quot;</p><div><div class="font-bold text-white">Marcus Walker</div><div class="text-white/60 text-sm">Local Guide</div></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full"><div class="p-8"><div class="flex items-center mb-4"><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></div><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-quote w-8 h-8 text-purple-400 mb-4" aria-hidden="true"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="text-white/80 mb-6 italic">&quot;<!-- -->Brad captured our thoughts and translated them into a website that we&#x27;re happy with. Highly recommend him and his brilliant service to everyone.<!-- -->&quot;</p><div><div class="font-bold text-white">Lucy Pinkstone</div><div class="text-white/60 text-sm">Business Owner</div></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full"><div class="p-8"><div class="flex items-center mb-4"><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><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-star w-5 h-5 text-yellow-400 fill-current" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></div><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-quote w-8 h-8 text-purple-400 mb-4" aria-hidden="true"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="text-white/80 mb-6 italic">&quot;<!-- -->I&#x27;ve commissioned Real Code for a number of Web projects. They are professional, have great technical and business understanding and are absolutely on top of their game.<!-- -->&quot;</p><div><div class="font-bold text-white">Robert Clarke</div><div class="text-white/60 text-sm">Local Guide</div></div></div></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-4xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>Frequently Asked Questions</h2></div><p class="text-xl text-white/80">Here are some of the most common questions I get asked. If you can&#x27;t find the answer you&#x27;re looking for, please get in touch.</p></div><div class="space-y-6"><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="flex flex-col space-y-1.5 p-6"><h3 class="font-semibold tracking-tight text-white text-lg">How much does a website cost?</h3></div><div class="p-6 pt-0"><p class="text-white/80">My prices for bespoke design &amp; development typically start at around £2,500 + VAT. Each project is unique, so I provide custom quotes based on your specific requirements and goals.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="flex flex-col space-y-1.5 p-6"><h3 class="font-semibold tracking-tight text-white text-lg">How long does it take to build a website?</h3></div><div class="p-6 pt-0"><p class="text-white/80">A typical brochure website takes about 6 to 8 weeks to complete. More complex builds or eCommerce sites could be anywhere from 8-20 weeks depending on size and complexity.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="flex flex-col space-y-1.5 p-6"><h3 class="font-semibold tracking-tight text-white text-lg">Do you provide ongoing support?</h3></div><div class="p-6 pt-0"><p class="text-white/80">Yes, I offer ongoing maintenance and support packages to keep your website secure, updated, and performing optimally. This includes regular backups, security updates, and content changes.</p></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md"><div class="flex flex-col space-y-1.5 p-6"><h3 class="font-semibold tracking-tight text-white text-lg">Will my website be mobile-friendly?</h3></div><div class="p-6 pt-0"><p class="text-white/80">Absolutely! All websites I create are fully responsive and optimized for mobile devices. I follow a mobile-first approach to ensure your site looks and works perfectly on all screen sizes.</p></div></div></div></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-7xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px)"><div class="text-4xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>Recent Posts</h2></div><p class="text-xl text-white/80 max-w-3xl mx-auto">Latest insights on web design, development, and digital strategy</p></div><div class="grid md:grid-cols-3 gap-8 mb-12"><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300 group cursor-pointer"><div class="p-6"><div class="text-purple-400 text-sm mb-2">2024-08-20</div><h3 class="text-xl font-bold text-white mb-3 group-hover:text-purple-300 transition-colors">How to Choose the Right Web Designer for Your Business</h3><p class="text-white/70 mb-4">Key factors to consider when selecting a freelance web designer for your next project.</p><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">Read More</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300 group cursor-pointer"><div class="p-6"><div class="text-purple-400 text-sm mb-2">2024-08-15</div><h3 class="text-xl font-bold text-white mb-3 group-hover:text-purple-300 transition-colors">The Importance of Website Speed for SEO</h3><p class="text-white/70 mb-4">Why page load times matter for search rankings and user experience.</p><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">Read More</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div><div style="opacity:0;transform:translateY(20px)"><div class="rounded-lg border text-card-foreground shadow-sm glass border-white/20 bg-white/5 backdrop-blur-md h-full hover:bg-white/10 transition-all duration-300 group cursor-pointer"><div class="p-6"><div class="text-purple-400 text-sm mb-2">2024-08-10</div><h3 class="text-xl font-bold text-white mb-3 group-hover:text-purple-300 transition-colors">Modern Web Design Trends for 2024</h3><p class="text-white/70 mb-4">Latest design trends that are shaping the web design landscape this year.</p><div class="flex items-center text-purple-400 group-hover:text-purple-300 transition-colors"><span class="text-sm">Read More</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-right w-4 h-4 ml-1" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></div></div><div class="text-center"><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 border-white/30 h-11 rounded-md text-lg px-8 py-4" href="/blog">View All Posts<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-arrow-right ml-2 w-5 h-5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section class="relative py-20 px-4 sm:px-6 lg:px-8"><div class="max-w-4xl mx-auto text-center"><div style="opacity:0;transform:translateY(20px)"><div class="text-3xl sm:text-5xl font-bold text-white mb-6 break-words" style="word-break:keep-all;overflow-wrap:break-word"><h2>Ready to Start Your Project?</h2></div><p class="text-xl text-white/80 mb-8 max-w-2xl mx-auto">Let&#x27;s create something amazing together. Get in touch to discuss your next web development project.</p><div class="flex flex-col sm:flex-row gap-4 justify-center"><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 glass text-white hover:bg-white/20 border-white/30 h-11 rounded-md text-lg px-8 py-4" href="/contact">Start Your Project<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-arrow-right ml-2 w-5 h-5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="inline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:text-accent-foreground h-11 rounded-md text-lg px-8 py-4 text-white hover:bg-white/10" href="/work">View Portfolio</a></div></div></div></section></div><!--$--><!--/$--></main><footer class="relative mt-20"><div class="absolute inset-0 glass backdrop-blur-xl border-t border-white/10"></div><div class="relative px-4 sm:px-6 lg:px-8 py-16"><div class="max-w-7xl mx-auto"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-12"><div style="opacity:0;transform:translateY(20px)"><h3 class="text-lg font-semibold text-white mb-4">Service Areas</h3><p class="text-white/80 text-sm mb-4 leading-relaxed">I&#x27;m a freelance web designer and developer that operates in London and the South east. I can also work remotely, servicing the entire UK. If you have an upcoming project you&#x27;d like to discuss then please get in touch.</p></div><div style="opacity:0;transform:translateY(20px)"><h3 class="text-lg font-semibold text-white mb-4">Navigation</h3><ul class="space-y-3"><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/">Home</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/about">About</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/work">Work</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/blog">Blog</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/contact">Contact</a></li></ul></div><div style="opacity:0;transform:translateY(20px)"><h3 class="text-lg font-semibold text-white mb-4">Services</h3><ul class="space-y-3"><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/services">Web Design</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/services">Web Development</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/wordpress-maintenance">WordPress Maintenance</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/services">E-commerce</a></li><li><a class="text-white/70 hover:text-purple-300 transition-colors text-sm" href="/services">SEO Services</a></li></ul></div><div style="opacity:0;transform:translateY(20px)"><h3 class="text-lg font-semibold text-white mb-4">Contact</h3><div class="space-y-3 mb-6"><div class="flex items-center text-white/70 text-sm"><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-mail w-4 h-4 mr-3 text-purple-400" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><a href="mailto:brad@bradmcallister.com" class="hover:text-purple-300 transition-colors">brad@bradmcallister.com</a></div><div class="flex items-center text-white/70 text-sm"><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-map-pin w-4 h-4 mr-3 text-purple-400" aria-hidden="true"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>London, United Kingdom</div></div><h4 class="text-white font-medium mb-3">Social</h4><div class="flex space-x-3"><a href="https://www.linkedin.com/in/bradmca/" target="_blank" rel="noopener noreferrer" class="w-10 h-10 bg-white/10 rounded-full flex items-center justify-center hover:bg-purple-500/20 transition-colors group"><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 w-5 h-5 text-white/70 group-hover:text-purple-300 transition-colors" aria-hidden="true"><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></div></div><div class="pt-8 border-t border-white/10" style="opacity:0;transform:translateY(20px)"><div class="flex flex-col md:flex-row justify-between items-center space-y-4 md:space-y-0"><div class="text-white/60 text-sm">© <!-- -->2026<!-- --> Brad McAllister Real Code Ltd. All Rights Reserved. Company Reg 08919593</div><div class="flex space-x-6"><a class="text-white/60 hover:text-purple-300 transition-colors text-sm" href="/privacy-policy">Privacy Policy</a><a class="text-white/60 hover:text-purple-300 transition-colors text-sm" href="/terms-conditions">Terms &amp; Conditions</a><span class="text-white/60 text-sm">Freelance Web Designer in London since 2014</span></div></div></div></div></div></footer><script src="/_next/static/chunks/d0e9ed6bd7de5270.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79520,[\"/_next/static/chunks/614bab41cb9af342.js\",\"/_next/static/chunks/f96a0f45c0445e01.js\",\"/_next/static/chunks/61bc785dc6bd3109.js\"],\"\"]\n9:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n:HL[\"/_next/static/chunks/0e3b34dde3969310.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:T475,{\"@context\":\"https://schema.org\",\"@type\":\"LocalBusiness\",\"@id\":\"https://bradmcallister.com/#organization\",\"name\":\"Brad McAllister - Freelance Web Developer\",\"alternateName\":\"Brad McAllister Web Development\",\"description\":\"Expert freelance web developer \u0026 designer in London. Specializing in React, Next.js, WordPress development, and custom web applications. 15+ years building high-performance websites for UK businesses.\",\"url\":\"https://bradmcallister.com\",\"telephone\":\"+44-XXX-XXX-XXXX\",\"email\":\"hello@bradmcallister.com\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"London\",\"addressRegion\":\"Greater London\",\"addressCountry\":\"GB\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":\"51.5074\",\"longitude\":\"-0.1278\"},\"areaServed\":[{\"@type\":\"City\",\"name\":\"London\"},{\"@type\":\"Country\",\"name\":\"United Kingdom\"}],\"priceRange\":\"££-£££\",\"openingHours\":\"Mo-Fr 09:00-18:00\",\"sameAs\":[\"https://twitter.com/bradmcallister\",\"https://github.com/bradmcallister\",\"https://linkedin.com/in/bradmcallister\"],\"founder\":{\"@type\":\"Person\",\"name\":\"Brad McAllister\",\"jobTitle\":\"Freelance Web Developer \u0026 Designer\",\"url\":\"https://bradmcallister.com/about\"}}4:T61a,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"LocalBusiness\",\"@id\":\"https://bradmcallister.com/#organization\",\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"5\",\"reviewCount\":\"4\",\"bestRating\":\"5\",\"worstRating\":\"5\"},\"review\":[{\"@type\":\"Review\",\"author\":{\"@type\":\"Person\",\"name\":\"Amritpal Khalsa\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5\",\"bestRating\":\"5\"},\"reviewBody\":\"Working with Brad \u0026 Real Code Ltd was a great experience. Brad is easy to communicate with and listened to what our idea and vision was. He delivered a good website and gave excellent design input.\"},{\"@type\":\"Review\",\"author\":{\"@type\":\"Person\",\"name\":\"Marcus Walker\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5\",\"bestRating\":\"5\"},\"reviewBody\":\"From start to finish, we had help, support, advice and the whole process was headache free. I have passed on Real Code details to many colleagues as I highly recommend their professional service.\"},{\"@type\":\"Review\",\"author\":{\"@type\":\"Person\",\"name\":\"Lucy Pinkstone\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5\",\"bestRating\":\"5\"},\"reviewBody\":\"Brad captured our thoughts and translated them into a website that we're happy with. Highly recommend him and his brilliant service to everyone.\"},{\"@type\":\"Review\",\"author\":{\"@type\":\"Person\",\"name\":\"Robert Clarke\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5\",\"bestRating\":\"5\"},\"reviewBody\":\"I've commissioned Real Code for a number of Web projects. They are professional, have great technical and business understanding and are absolutely on top of their game.\"}]}"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"4NhG2VR8dZsrAuDT8P3Ok\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0e3b34dde3969310.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/614bab41cb9af342.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/f96a0f45c0445e01.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/61bc785dc6bd3109.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"id\":\"local-business-schema\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3\"}}],[[\"$\",\"$L2\",\"0\",{\"id\":\"service-schema-0\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Service\\\",\\\"serviceType\\\":\\\"Web Development\\\",\\\"provider\\\":{\\\"@id\\\":\\\"https://bradmcallister.com/#organization\\\"},\\\"areaServed\\\":{\\\"@type\\\":\\\"City\\\",\\\"name\\\":\\\"London\\\"},\\\"description\\\":\\\"Custom web development services including React, Next.js, and full-stack development. Building fast, secure, and scalable web applications.\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"priceRange\\\":\\\"£3,500+\\\",\\\"priceCurrency\\\":\\\"GBP\\\"}}\"}}],[\"$\",\"$L2\",\"1\",{\"id\":\"service-schema-1\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Service\\\",\\\"serviceType\\\":\\\"WordPress Development\\\",\\\"provider\\\":{\\\"@id\\\":\\\"https://bradmcallister.com/#organization\\\"},\\\"areaServed\\\":{\\\"@type\\\":\\\"City\\\",\\\"name\\\":\\\"London\\\"},\\\"description\\\":\\\"Custom WordPress development including themes, plugins, WooCommerce, and headless WordPress solutions. Fast, secure, and SEO-optimized.\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"priceRange\\\":\\\"£3,500+\\\",\\\"priceCurrency\\\":\\\"GBP\\\"}}\"}}],[\"$\",\"$L2\",\"2\",{\"id\":\"service-schema-2\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Service\\\",\\\"serviceType\\\":\\\"E-commerce Development\\\",\\\"provider\\\":{\\\"@id\\\":\\\"https://bradmcallister.com/#organization\\\"},\\\"areaServed\\\":{\\\"@type\\\":\\\"City\\\",\\\"name\\\":\\\"London\\\"},\\\"description\\\":\\\"E-commerce development with WooCommerce, Shopify, and custom solutions. Payment integration, inventory management, and conversion optimization.\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"priceRange\\\":\\\"£5,000+\\\",\\\"priceCurrency\\\":\\\"GBP\\\"}}\"}}]],[\"$\",\"$L2\",null,{\"id\":\"review-schema\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$4\"}}],\"$L5\"]}],\"$L6\"]}]]}],{\"children\":[\"$L7\",{},null,false,false]},null,false,false],\"$L8\",false]],\"m\":\"$undefined\",\"G\":[\"$9\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:I[63780,[\"/_next/static/chunks/614bab41cb9af342.js\",\"/_next/static/chunks/f96a0f45c0445e01.js\",\"/_next/static/chunks/61bc785dc6bd3109.js\"],\"default\"]\nb:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\nc:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\nd:I[76841,[\"/_next/static/chunks/614bab41cb9af342.js\",\"/_next/static/chunks/f96a0f45c0445e01.js\",\"/_next/static/chunks/61bc785dc6bd3109.js\"],\"default\"]\ne:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ClientPageRoot\"]\nf:I[31713,[\"/_next/static/chunks/614bab41cb9af342.js\",\"/_next/static/chunks/f96a0f45c0445e01.js\",\"/_next/static/chunks/61bc785dc6bd3109.js\",\"/_next/static/chunks/e05addd7077d4f32.js\",\"/_next/static/chunks/dd0f62d390b69299.js\",\"/_next/static/chunks/5e16eed8ae7d8279.js\"],\"default\"]\n12:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n15:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n17:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n5:[\"$\",\"$L2\",null,{\"id\":\"person-schema\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Brad McAllister\\\",\\\"url\\\":\\\"https://bradmcallister.com\\\",\\\"image\\\":\\\"https://bradmcallister.com/images/brad.jpg\\\",\\\"jobTitle\\\":\\\"Freelance Web Developer \u0026 Designer\\\",\\\"worksFor\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Brad McAllister Web Development\\\"},\\\"description\\\":\\\"Expert freelance web developer and designer in London with 15+ years of experience. Specializing in React, Next.js, WordPress, and custom web applications.\\\",\\\"knowsAbout\\\":[\\\"Web Development\\\",\\\"React\\\",\\\"Next.js\\\",\\\"WordPress\\\",\\\"JavaScript\\\",\\\"TypeScript\\\",\\\"Web Design\\\",\\\"UI/UX Design\\\",\\\"E-commerce Development\\\",\\\"WooCommerce\\\"],\\\"sameAs\\\":[\\\"https://twitter.com/bradmcallister\\\",\\\"https://github.com/bradmcallister\\\",\\\"https://linkedin.com/in/bradmcallister\\\"],\\\"address\\\":{\\\"@type\\\":\\\"PostalAddress\\\",\\\"addressLocality\\\":\\\"London\\\",\\\"addressCountry\\\":\\\"GB\\\"}}\"}}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"body\",null,{\"className\":\"inter_5972bc34-module__OU16Qa__className\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"main\",null,{\"className\":\"min-h-screen\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",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\"}]}],[\"$\",\"$Ld\",null,{}]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Le\",null,{\"Component\":\"$f\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@10\",\"$@11\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/e05addd7077d4f32.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/dd0f62d390b69299.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/5e16eed8ae7d8279.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}]\n8:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L18\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"10:{}\n11:\"$7:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"19:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"IconMark\"]\n14:null\n"])</script><script>self.__next_f.push([1,"18:[[\"$\",\"title\",\"0\",{\"children\":\"Freelance Web Developer London | Brad McAllister - Web Designer \u0026 Developer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Expert freelance web developer \u0026 designer in London. Specializing in React, Next.js, WordPress development, and custom web applications. 15+ years building high-performance websites for UK businesses.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"Brad McAllister\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"freelance web developer London, London web developer, hire web developer London, React developer London, Next.js developer London, WordPress developer London, custom web development UK, freelance web designer London, web development services London, full stack developer London\"}],[\"$\",\"meta\",\"4\",{\"name\":\"creator\",\"content\":\"Brad McAllister\"}],[\"$\",\"meta\",\"5\",{\"name\":\"publisher\",\"content\":\"Brad McAllister\"}],[\"$\",\"meta\",\"6\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"7\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"Freelance Web Developer London | Brad McAllister\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Expert freelance web developer \u0026 designer in London. Specializing in React, Next.js, WordPress development, and custom web applications for UK businesses.\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://bradmcallister.com\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"Brad McAllister\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:locale\",\"content\":\"en_GB\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:creator\",\"content\":\"@bradmcallister\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Freelance Web Developer London | Brad McAllister\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"Expert freelance web developer \u0026 designer in London. React, Next.js, WordPress specialist with 15+ years experience.\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L19\",\"19\",{}]]\n"])</script></body></html>