How an AI Agent Made Me a PHP Developer (Without Learning PHP)

From Software Engineer to AI Founder

I worked as a backend-focused software engineer before moving into machine learning, where most solutions were just math functions—not what we think of as AI today. Now, I’m focused on AI-driven solutions that go beyond traditional ML.

To push this forward, I founded LedgerWise.ai, transforming how businesses service debt with AI-powered automation. I also joined macrovo.com to develop AI systems that enhance human intelligence and decision-making at scale.

AI isn’t just a tool—it’s a force multiplier. It’s not about replacing people but augmenting expertise and solving problems at scale.

One of those problems? Reading thousands of lines of PHP code when I didn’t know PHP.


Solving the Problem: Using an AI Agent to Read a Legacy PHP Codebase

I needed to analyze an old, well-documented PHP system, but I wasn’t familiar with PHP or how the documentation was structured. The codebase was also far too large to paste into ChatGPT or Claude.

Instead of manually searching for answers, I built an agentic workflow to do it for me.

Once the agent was running, it answered deep questions, summarized API routes, and explained logic. It didn’t just help—it did the knowledge work for me. Instead of learning PHP, I wrote Python that learned PHP for me.

AI didn’t replace me. I still had to write the code that let the AI process and analyze the PHP system.


The AI Tooling Space: Immature, Fast-Moving, and Frustrating

The hardest part of this project wasn’t PHP—it was getting the AI tooling to work.

  • APIs have changed since many tutorials were written, making them instantly outdated.
  • Error messages helped, but I had to piece together solutions as the documentation lagged behind rapid development.
  • The AI ecosystem moves fast, which is both exciting and frustrating.

This is a temporary problem—AI tooling will stabilize as the space matures. But for now, building with AI means constant adaptation.


AI Is Reshaping Work, Not Replacing Engineers

This project reinforced that AI isn’t replacing engineers—it’s changing how we work.

  • The Industrial Revolution automated weaving, but new engineering jobs emerged.
  • Computers replaced typewriters, but office work evolved.
  • AI is doing the same to engineering—not eliminating jobs, but shifting how we approach problems.

We are becoming AI system architects, designing workflows that do the heavy lifting for us.


Conclusion: Why I’m Focused on AI

This project solidified why I’m focused on AI-driven companies. At LedgerWise.ai, we’re transforming how businesses service debt with automation. At macrovo.com, we’re developing AI systems that enhance decision-making at scale. AI is changing everything, and those who embrace it now will be ahead of the curve.

If AI can turn me into a PHP expert overnight, what else can it do?

Now’s the time to start building.

Disclaimer: This blog post was written with the assistance of AI to refine structure, improve clarity, and enhance readability. All thoughts and experiences shared are my own.

Code: github.com

My Pi Hole

I found a really cheap, really old mac mini. So old that it was outside Apple’s period to update the software and decided to throw some Linux on that bitch and then get containerizing!

**I tried installing docker on the mac as is and also forcing it to upgrade but those options did not work well at all. I strongly encourage you throw some linux around if you want to easily extend the life of your old mac hardware. If you are curious which distro I went with, it was ubuntu.

After installing Docker it was pretty straight forward in getting pi-hole running. Below is the script I ran to start it.

docker run -d \
    --name pihole \
    --restart unless-stopped \
    -e TZ="America/Los_Angeles" \
    -e WEBPASSWORD="UrAmazingAndWonderful" \
    -v "$(pwd)/pihole/etc:/etc/pihole" \
    -v "$(pwd)/pihole/dnsmasq.d:/etc/dnsmasq.d" \
    -p 8081:80 \
    -p 53:53/tcp \
    -p 53:53/udp \
    pihole/pihole:latest

A couple things to point out here:

  • — restart unless-stopped => This makes the docker container restart if anything should stop it, i.e. the mac mini restarting or docker restarting etc etc
  • -e WEBPASSWORD=”UrAmazingAndWonderful” => Replace this with some secret password and make sure you record this as you will need it to login later with.
  • -v “$(pwd)/pihole/etc:/etc/pihole” => Map a directory on the mac mini $(pwd)/pihole/etc to etc/pihole on the container. This will allow you to see the files the container is using plus it ensure the file persists between restarts
  • -v “$(pwd)/pihole/dnsmasq.d:/etc/dnsmasq.d” => Again, samething persisting this across container restarts

Website Powered by WordPress.com.

Up ↑