# judd.dev > Andrew Judd - Full-stack web developer helping small and medium businesses navigate the digital world. - [Full LLM context](https://judd.dev/llms-full.txt) ## About Andrew Judd is a Freelance Web Developer with 18+ years of experience building web applications, cloud infrastructure, and AI-powered solutions. Based in Canada, he specializes in helping small and medium businesses succeed online through custom development, mentoring, and technical consulting. ## Services - Web Application Development: Custom web apps, APIs, database design, CMS - AI & Intelligent Solutions: RAG pipelines, LLM integration, custom AI agents, knowledge bases - Cloud & DevOps: AWS infrastructure, CI/CD pipelines, containerization - Mobile & Desktop Apps: Cross-platform apps with Ionic/Capacitor and Electron - Performance Optimization: Speed audits, caching, database optimization - Security & Maintenance: SSL, security updates, backups, monitoring - Mentoring & Coaching: One-on-one sessions, code reviews, career guidance - Business & Developer Liaison: Technical translation, project oversight ## Key Pages - [Homepage](https://judd.dev): Overview and featured content - [About](https://judd.dev/about): Background, experience, and personal information - [Services](https://judd.dev/services): Detailed service offerings - [Projects](https://judd.dev/projects): Portfolio of completed projects - [Testimonials](https://judd.dev/testimonials): Client feedback and reviews - [Blog](https://judd.dev/blog): Technical articles and insights - [Resume](https://judd.dev/resume): Professional experience and skills - [Community](https://judd.dev/community): Developers (Coffee 'n' Code + mentoring), virtual pets, and recipe tools - [Contact](https://judd.dev/contact): Get in touch - [Small Business Automation](https://judd.dev/automation): Practical automation for small businesses — what I build, real costs, and how engagements work - [Backup System Series](https://judd.dev/backups): Guide to building a Laravel backup system — four-post series hub covering architecture, restores, and failure modes - [OCR Pipelines](https://judd.dev/ocr): Guide to building production OCR pipelines — five-post series hub - [OCR Tool Comparison](https://judd.dev/ocr/tesseract-vs-textract-vs-google-vision): Tesseract vs AWS Textract vs Google Vision API comparison - [Hire a Web Developer](https://judd.dev/hire-web-developer): Guide for small businesses on hiring a developer - [GTA Web Developer](https://judd.dev/web-developer-gta): Automation, AI, and custom development for GTA small businesses ## Blog Posts - [Authentication Is the Easy Part](https://judd.dev/blog/authentication-is-the-easy-part) - [Don't Keep Your Spare Key Inside the House](https://judd.dev/blog/dont-keep-your-spare-key-inside-the-house) - [Tests That Earn Their Keep](https://judd.dev/blog/tests-that-earn-their-keep) - [Where Does Your Code Actually Live?](https://judd.dev/blog/where-does-your-code-live) - [The Process Failed You, Not the Other Way Around](https://judd.dev/blog/the-process-failed-you) - [Is It a Website or a Web App? (And Why It Changes the Price)](https://judd.dev/blog/website-or-web-app) - [DNS for People Who've Been Faking It](https://judd.dev/blog/dns-for-people-whove-been-faking-it) - [Load Times and Your Websites](https://judd.dev/blog/load-times-and-your-websites) - [The Best Way to Convert Handwritten Recipes to Digital (What Actually Works)](https://judd.dev/blog/best-way-to-digitize-handwritten-recipes) - [What It Really Costs to Digitize a Box of Handwritten Recipes](https://judd.dev/blog/cost-to-digitize-handwritten-recipes) - [What OCR Actually Gets Wrong on Handwritten Recipes](https://judd.dev/blog/what-ocr-gets-wrong-on-handwritten-recipes) - [Everything That Broke Along the Way](https://judd.dev/blog/everything-that-broke-along-the-way) - [Restores Are Harder Than Backups](https://judd.dev/blog/restores-are-harder-than-backups) - [The Pipeline Strategy Pattern](https://judd.dev/blog/the-pipeline-strategy-pattern) - [I Built My Own Backup System](https://judd.dev/blog/i-built-my-own-backup-system) - [From Inbox to Database Without a Human in the Middle](https://judd.dev/blog/from-inbox-to-database-without-a-human-in-the-middle) - [Why I Built Flour Power](https://judd.dev/blog/why-i-built-flour-power) - [Less Than a Penny Per Document](https://judd.dev/blog/less-than-a-penny-per-document) - [One API Call Changed Everything](https://judd.dev/blog/one-api-call-changed-everything) - [When the Cleanup Code Becomes the Project](https://judd.dev/blog/when-the-cleanup-code-becomes-the-project) - [The OCR Rabbit Hole](https://judd.dev/blog/ocr-rabbit-hole) - [Why I Built MoveMyRecipes.com](https://judd.dev/blog/why-i-built-movemyrecipescom) - [The Developer Who Held All the Cards](https://judd.dev/blog/the-developer-who-held-all-the-cards) - [It's Your Fault!](https://judd.dev/blog/its-your-fault) - [Mistakes Happen](https://judd.dev/blog/mistakes-happen) - [My Way or the Highway](https://judd.dev/blog/my-way-or-the-highway) - [How I Used CheckItOn.Us to Monitor my Internal Services](https://judd.dev/blog/how-i-used-checkitonus-to-monitor-internal-services) - [Why Should I Use a Framework?](https://judd.dev/blog/why-should-i-use-a-framework) - [Appreciation - It's in You to Give](https://judd.dev/blog/appreciation-its-in-you-to-give) - [The First Sale](https://judd.dev/blog/the-first-sale) ## Contact - Website: https://judd.dev - LinkedIn: https://linkedin.com/in/awjudd - GitHub: https://github.com/awjudd - Twitter: https://twitter.com/min_sleep ## Technical Stack - Backend: PHP, Laravel - Frontend: JavaScript, Alpine.js, Tailwind CSS - Database: MySQL, PostgreSQL - Cloud: AWS (ECS, EC2, RDS, S3) - AI/ML: OpenAI, Claude, RAG pipelines, vector databases