TechEarl
Author

Ishan Karunaratne

20+ years across software, Linux systems, DevOps, and infrastructure, with a more recent focus on AI.

Ishan Karunaratne

Ishan Karunaratne

Software Systems Architect · Senior Software Engineer · Engineering Leadership

Software systems architect and senior software engineer with more than two decades designing, building, and running production software, Linux systems, and DevOps infrastructure, and lately working AI into the stack. Now a CTO, though what I write here is drawn from the full arc of that work, across architecture, engineering, and operations, not any single job.

Hi, I'm Ishan. My path into all this started in the early 2000s with systems work: configuring hardware, running cables, networking machines, and serving as sysadmin for a university dormitory network. I also served in the US Army during Operation Iraqi Freedom, running logistics and personnel operations for a 90-person unit.

Since then I've led technology strategy through M&A integrations, cloud migrations, and infrastructure projects at scale. I'm also the founder and sole developer of DNS Checker, a domain intelligence platform that analyzes more than 240 million domains a day and maintains 220 million-plus WHOIS records.

A long stretch of my earlier career was in WordPress agency work. I started contracting for web agencies in the early 2000s, building WordPress and PHP sites for them while the platform itself was still finding its shape. In 2011 I started my own web development agency and ran it for four years, shipping client sites end-to-end. After that I joined an agency full-time as a senior developer for another five years, where most of the work centered on reusable component architectures: building Advanced Custom Fields Flexible Content systems that let front-end developers restyle the same backend blocks (heroes, CTAs, testimonials, pricing, content modules) across very different client brands. It gave us page-builder authoring speed with fully custom front-ends.

For the last six years I've been Chief Technology Officer at a healthcare technology company, where the platform runs on multiple very large WordPress + ACF directory sites with heavy automated data population, complex content modeling, and the kind of performance and architecture problems that only surface when you push the stack past what most tutorials cover. That work feeds the WordPress and ACF posts here, but it is one strand of a much wider role: system architecture, backend engineering, the databases and Linux infrastructure underneath, and the technology and team decisions that come with the title. TechEarl draws on the full arc of the career, not any single chapter of it.

TechEarl is where I write down what I learn along the way. The aim is twofold: leave a useful trail for other developers, and keep a reference for myself the next time I trip over the same problem.

On the surface this looks like any other site full of programming tutorials and code snippets. What I actually wanted to build was different. Most coding sites give you a block of code to copy, and the moment you paste it you start hand-editing the variables to match your situation. That hand-edit happens every time, on every machine, and the friction adds up over years.

The pages on this site work the other way around. Where it makes sense, code blocks are paired with input fields that let you change the variable values right on the page before you copy. What you copy is the substituted output, ready to run. The values you typed in stay in your browser's local storage so they are still there the next time you come back to the page. No account, no signup, nothing sent to a server. It is closer to a personal cheat-sheet repository you build for yourself as you read, than a static reference you keep relooking up. I built the first version of this pattern because I could not find anywhere else on the web doing it; that is still mostly the case.

The same idea drives the cheat sheets in particular. The commands are the canonical ones, but you fill in your own database name, host, table prefix, port, whatever it is, and the cheat sheet becomes yours. The next time you open it, your values are still there. The articles, the cheat sheets, and the longer essays are the writing side. The interactive substitution is the tooling side. Together they are meant to be a site that breathes with the work, not just a place to copy from.

Across that timeline I have held effectively every role IT has on the org chart, usually more than one at a time. Tech support. Front-end developer. Back-end developer. Designer. Database administrator. Business analyst. Systems analyst. Security work. SEO work. CTO. Plenty of things in between. Anything I write about on TechEarl, I have shipped under a real deadline at some point. The site grows as I bring more of that experience into it.

Outside of work I am usually with my kids, exploring something new in tech, or helping people on IRC. I have been on IRC since the mid-1990s, longer than most of the technology I write about has existed. The first long stretch was on Undernet, mostly in the Visual Basic and VB-adjacent programming channels, answering whatever question walked in. When the WordPress community settled on Freenode I followed and broadened from there: any WordPress question, not just ACF, also Gravity Forms and the other form plugins, theme work, plugin internals, hosting, anything coding-related at a real core level. When Freenode imploded in 2021 and the WordPress community migrated to Libera, I migrated with it. Handle on Libera is VectorX. Over two decades on IRC at this point, still the place I am most likely to be answering a stranger's debugging question on a random evening.

Areas of expertise
  • System architecture and performance optimization at scale
  • Full-stack web (Node.js, TypeScript, Next.js, React, PHP, WordPress)
  • Cloud infrastructure (AWS, GCP, Hetzner, Docker, Coolify)
  • Linux systems administration (RHEL, Debian, Ubuntu, systemd, fail2ban)
  • Databases (PostgreSQL, MySQL, Elasticsearch, ClickHouse, Redis)
  • DevOps and CI/CD pipelines (GitHub Actions, Coolify, Nginx)
  • DNS, networking, and email deliverability (DNSSEC, SPF/DKIM/DMARC, BGP/ASN)
  • AI engineering (LLM applications, RAG, prompt engineering, evals)
  • Engineering leadership: technical strategy, team direction, and delivery
  • WordPress + Advanced Custom Fields at scale (using ACF since the early 5.x releases; ACF Pro 5.5 was a particular favorite)
  • Agency delivery workflows: reusable ACF Flexible Content component systems, repeatable client handoff
  • Technical writing and developer documentation
Education and certifications
  • Bachelor's degree, Information Technology (online systems focus)
  • CompTIA A+, Network+, and Security+ certifications (2009)
  • Cisco CCNA coursework (2005)
Experience, the longer arc
  • The short version: I'm a software systems architect and senior software engineer who has spent most of two-plus decades designing, building, and running production systems, and leading the teams that ship them. Everything below is the long version.
  • Early 2000s onward: Systems and infrastructure first, hardware, networking, sysadmin, then full-stack web development, contracting for agencies building PHP and WordPress sites while the platform was still finding its shape.
  • 2011–2015: Founded and ran my own web development agency for four years, owning everything from architecture and data modeling through to delivery.
  • 2015–2020: Senior developer at an agency for five years. Most of the work was reusable component architecture, including the ACF Flexible Content systems that let front-end devs restyle the same backend blocks per brand, alongside the wider backend and infrastructure engineering.
  • 2020–present: CTO. Architecture, engineering leadership, and operations across multiple very large WordPress + ACF directory sites with automated data population and complex content modeling, plus the databases, Linux infrastructure, DevOps, and AI that sit underneath them.
  • Across all of it: system architecture and performance at scale, databases (PostgreSQL, MySQL, Elasticsearch), Linux administration, DNS and networking, DevOps and CI/CD, security, and the AI engineering that has recently become part of the stack. WordPress and ACF are one well-worn tool in that kit, not the whole of it.
  • ACF, specifically: run in production from the early 5.x releases through current 6.8.x. ACF Pro 5.5 was the sweet-spot release for me: the API had settled, Flexible Content was fast, and the admin felt finished.
  • IRC: on IRC since the mid-1990s, answering questions in programming channels long before WordPress existed, on #wordpress from the mid-2000s on Freenode, and on Libera since 2021 (handle: VectorX). The help has always run across whatever walks in, languages, databases, infrastructure, debugging at the core level, not just WordPress and ACF.
Other things I've built
  • DNS Checker, a domain intelligence platform analyzing 240M+ domains daily. Founder and sole developer.