As developers, we leave digital footprints everywhere—through our code, our portfolios, and our articles. But what if people could just talk to a digital version of us? That question led me to build Igris, a personal AI shadow agent and knowledge codex designed to answer questions about me, complete with my own personality.
You can try out the live chat interface here: Agent Igris, and check out my main portfolio at abhistack.pages.dev.
Here is a deep dive into how I built Igris, transitioning it from a fun concept into a highly resilient, tool-augmented RAG chatbot.
The Core Concept
The original idea for Igris was simple: create an AI that "talks about me with my personalities." Rather than building a fully autonomous execution agent that acts on my behalf, I decided to focus on creating a robust Retrieval-Augmented Generation (RAG) chatbot. It serves as an interactive, conversational resume and a codified representation of my knowledge and experiences.
The Tech Stack
To make Igris fast, reliable, and easily maintainable, I split the architecture into a dedicated backend and a standalone frontend.
- Backend: Node.js, Express, and LangChain.
- Frontend: React (Vite/Next.js) with Tailwind CSS for a sleek, responsive chat interface.
- LLM: Currently exploring Google's Gemma 4 to power the conversational engine.
- Hosting: The frontend is deployed on Cloudflare Pages, and the Node.js backend is hosted on Render.
Architecture & Implementation
1. The RAG Engine & LangChain Backend
At the heart of Igris is a Node.js backend utilizing LangChain. Instead of just stuffing a massive system prompt with my life story—which is inefficient and prone to hallucination—I implemented a RAG architecture. This allows Igris to pull specific, relevant context from a vector database whenever a user asks a question.
One of the key engineering choices here was using modular prompt composition. By breaking down the system prompts and context injection into manageable modules, I can easily tweak how Igris behaves, update my professional history, or adjust its tone without having to rewrite the entire core logic.
2. The Frontend Experience
The user experience needed to feel natural, like messaging a real person. I built a standalone frontend application using React and styled it with Tailwind CSS. The interface connects directly to the backend APIs, handling state management and rendering the conversation smoothly.
What's Next for Igris?
Right now, Igris is doing a great job answering questions and serving as my interactive shadow. The next major step is integrating and fine-tuning with the Gemma 4 model to make the conversational tone even more accurate to my actual voice. I am also looking into expanding the tool-augmentation aspect so Igris can fetch live, dynamic data during a conversation.
Building an AI agent that represents you is a fascinating challenge in prompt engineering, context management, and system design. If you are thinking about building your own shadow agent, I highly recommend diving into LangChain and RAG architectures!
Top comments (0)