
[{"content":" 🤖 AI Code Agent: Login System # This project demonstrates how I used an AI code agent to design and implement a secure login system.\n🎯 Task # Build a login system using:\nJava Javalin Hibernate JWT authentication ⚙️ Features # User registration Secure login Password hashing (BCrypt) JWT authentication Protected routes 🔄 Workflow with AI # 1. Architecture design # I started by prompting the AI:\n\u0026ldquo;Create a login system using Javalin, Hibernate and JWT\u0026rdquo;\nThe AI suggested a layered architecture:\nController Service DAO JWT Utility 2. Initial implementation # The AI generated:\nRegister endpoint Login endpoint JWT token generation However, the initial solution had issues:\nMissing validation Weak error handling No route protection 3. Debugging # I collaborated with the AI to fix:\nHibernate mapping issues Null pointer errors Incorrect JWT configuration 4. Refactoring # The AI helped improve:\nSeparation of concerns Code readability Naming conventions 5. Security improvements # We added:\nBCrypt password hashing JWT middleware Token validation Key Learnings # AI is effective for scaffolding backend systems Debugging requires human understanding Security must be validated manually Iteration improves output quality Example flow # User registers → Password hashed → Stored in DB User logs in → JWT generated → Used for protected routes Conclusion # AI code agents can significantly speed up backend development, but require:\nCritical thinking Validation Security awareness They are best used as collaborative tools rather than replacements.\n","date":"27 April 2026","externalUrl":null,"permalink":"/posts/coding-agents/","section":"Posts","summary":"","title":"AI Code Agent: Login System with JWT","type":"posts"},{"content":" One Piece AI Chatbot # This project demonstrates how I built a Retrieval-Augmented Generation (RAG) chatbot using structured data.\nProblem # How can we build a chatbot that answers domain-specific questions accurately without hallucinating?\nSolution # I built a RAG system using:\nStructured Markdown data Vector embeddings Semantic retrieval Large Language Model (LLM) How it works # Data was collected and structured into Markdown Content was split into smaller chunks Each chunk was embedded into a vector database User queries are matched with relevant chunks The LLM generates answers based on retrieved context Data structure # The dataset is divided into:\nCharacters Arcs Devil Fruits Example:\n# Character: Monkey D. Luffy ## Role Captain ## Abilities - Rubber powers - Haki Results # The chatbot can answer:\nCharacter information Story arcs Abilities and powers With improved accuracy compared to a standard LLM.\nWhat I learned # Structuring data for AI systems Importance of chunking Prompt engineering basics Retrieval optimization Improvements # Custom frontend instead of iframe More data sources Metadata filtering ","date":"27 April 2026","externalUrl":null,"permalink":"/posts/rag-chatbot-one-piece/","section":"Posts","summary":"","title":"One Piece RAG Chatbot","type":"posts"},{"content":"","date":"27 April 2026","externalUrl":null,"permalink":"/","section":"Portfolio","summary":"","title":"Portfolio","type":"page"},{"content":"","date":"27 April 2026","externalUrl":null,"permalink":"/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/tags/ai/","section":"Tags","summary":"","title":"AI","type":"tags"},{"content":" What is RAG? # Retrieval-Augmented Generation (RAG) optimizes the output of a LLM, so it references a knowledge base outside its training data, before generating a response. RAG extends the capabilites of LLMs to a specific domain or source. with RAG we we can provide a custom knowledge base, ensuring the chatbot stays accurate and domain-specific, because it only references to the knowledge base we have uploaded.\nMy chatbot # I used our schools internal curriculum, and that was the key knowledge base of our chatbot. I used Dify.ai to get started on building a simple chatbot, that could answer questions relevant to our curriculum.\n","date":"23 April 2026","externalUrl":null,"permalink":"/posts/rag-chatbot/","section":"Posts","summary":"","title":"Building a RAG Chatbot","type":"posts"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/tags/chatbot/","section":"Tags","summary":"","title":"Chatbot","type":"tags"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/tags/llm/","section":"Tags","summary":"","title":"LLM","type":"tags"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/categories/projects/","section":"Categories","summary":"","title":"Projects","type":"categories"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/tags/rag/","section":"Tags","summary":"","title":"RAG","type":"tags"},{"content":"","date":"23 April 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]