Ever since I started coding, I’ve had one massive, ultimate goal: To build my own personal AI Agent.
I don't just want a standard chatbot. I want an autonomous LLM-powered assistant that lives in my computer, understands my workflow, and handles the heavy lifting for me. I call this agent AXIS (Automated eXtraction and Intelligence System).
Building a fully autonomous AI agent is a massive project, so I decided to break it down.
This is Step 1: Giving AXIS the ability to see, understand, and automatically organize my local file system.
Here is a look at my progress so far, what I’ve learned, the hurdles I faced, and where this project is heading next.
📂 The First Mission: Conquering the Downloads Folder
Like any Computer Engineering student, developer, my folders were a nightmare. It was a chaotic mix of assignment PDFs and functional React code files. Here you can see a sample messy directory.
Instead of manually sorting them every week, I wanted AXIS to do the dirty work for me.
🛠️ What I Built and Learned So Far
To start, I needed to learn how to make a Python script run silently in the background and react to new files without destroying my computer's performance.
Event-Driven Architecture: Instead of writing a while True loop that constantly checks for new files (which burns CPU), I learned how to use the Python watchdog library. It acts as an event listener, meaning AXIS sleeps at 0% CPU usage and only wakes up when the OS tells it a new file has arrived.
Data Extraction & Keyword Matching: For PDFs, I used pypdf to extract text. If the script read technical words related to my studies, it moved the file to my Engineering folder. If it saw "React" or "code", it instantly went to my Software Projects folder.
🚧 **The Major Hurdle: Rule-Based Systems Are Blind
**The keyword system was great, but it hit a massive wall: Media files.
When I downloaded cinematic reference videos, 3D animated assets, or custom banners for my gaming channel, standard OCR (text recognition) completely failed. A rule-based system can't categorize a file if it doesn't know what it's looking at. AXIS was essentially blind to visual context.
🧠 The Solution: Giving AXIS "Eyes"
To solve this, I introduced my first Multimodal LLM integration: The Gemini Vision API.
Instead of searching for text, I configured AXIS to pass image files directly to the AI with a strict prompt, asking it to classify the visual content into my predefined categories.
The result was pure magic. AXIS could now look at a screenshot of a React UI, a complex system architecture diagram, or a highly stylized gaming logo and instantly move it to the correct folder—without relying on a single extracted keyword.
🚀 What’s Next? (The Ultimate Goal)
Right now, AXIS is smart, but it is restricted. It relies on a list of predefined folders I hardcoded into the script.
The next step for AXIS is true autonomy.
In Phase 2, I will remove the hardcoded categories completely. When I drop any file—whether it's an .exe, a movie, a random document, or a complex folder structure—AXIS will analyze the file types and contents, and dynamically generate the perfect folder structure on the fly.
It won't just sort files into boxes I made; it will build the boxes itself based on context.
This is just the beginning of my journey to building a fully-fledged personal AI agent. If you want to follow along, share ideas, or check out the code for Step 1, I’ve made it completely open-source!
💻 Check out the code on GitHub: https://github.com/KKPremarathna/A.X.I.S.
Have you ever tried building your own automation tools or AI agents? Let me know in the comments! Stay tuned for Phase 2.


![A.X.I.S. in action! The terminal log shows the agent categorizing files using two methods: [KEYWORD-MOVED] for text-based sorting of PDFs, and [AI-VISION] (powered by Gemini) for visually analyzing and sorting the image files into their respective folders.](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5eybzxxgp5mcvor1egvn.png)
Top comments (0)