{"data":{"featured":{"edges":[{"node":{"frontmatter":{"title":"Forensic-Bind","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAgP/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQP/2gAMAwEAAhADEAAAAW90YqdxQyf/xAAaEAEAAgMBAAAAAAAAAAAAAAACAQMAEBET/9oACAEBAAEFAoVnqFMvls6rXWjn/8QAGBEAAgMAAAAAAAAAAAAAAAAAAAIRIWH/2gAIAQMBAT8BaydP/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8BCf/EAB0QAAAGAwEAAAAAAAAAAAAAAAABEBESgSEyobH/2gAIAQEABj8CLdpcGJWHc/Eo0//EAB0QAQACAgIDAAAAAAAAAAAAAAEAIRFBMaFRgbH/2gAIAQEAAT8hs9jOKhB4aAmtzKe29I8TAgYX5S31u5//2gAMAwEAAgADAAAAEEzf/8QAGREAAgMBAAAAAAAAAAAAAAAAASEAEbHw/9oACAEDAQE/ECsHXCIsT//EABoRAAICAwAAAAAAAAAAAAAAAAABEVEhkbH/2gAIAQIBAT8QZDed9sh2f//EABwQAQADAAIDAAAAAAAAAAAAAAEAESFhkTFR8f/aAAgBAQABPxAAaOF00HAYNyyKRUNdvJz1UqhBcFh0ZhPE0HVd4dJaXLR9Kn//2Q=="},"images":{"fallback":{"src":"/static/01bac3725e599833ee8b58805bfb9da5/e0e47/demo.jpg","srcSet":"/static/01bac3725e599833ee8b58805bfb9da5/0ae72/demo.jpg 175w,\n/static/01bac3725e599833ee8b58805bfb9da5/f1dca/demo.jpg 350w,\n/static/01bac3725e599833ee8b58805bfb9da5/e0e47/demo.jpg 700w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/01bac3725e599833ee8b58805bfb9da5/ab668/demo.avif 175w,\n/static/01bac3725e599833ee8b58805bfb9da5/34460/demo.avif 350w,\n/static/01bac3725e599833ee8b58805bfb9da5/151fa/demo.avif 700w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/01bac3725e599833ee8b58805bfb9da5/892e4/demo.webp 175w,\n/static/01bac3725e599833ee8b58805bfb9da5/9f933/demo.webp 350w,\n/static/01bac3725e599833ee8b58805bfb9da5/9c508/demo.webp 700w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":475}}},"tech":["PyTorch","EfficientNet-B0","GradCAM","LIME","Explainable AI"],"github":"https://github.com/aslanbayli/forensic-bind","external":"https://github.com/aslanbayli/forensic-bind","cta":null},"html":"<p>Developed a deep learning framework for deepfake attribution by engineering a forensic embedding space that disentangles generator-specific artifacts from semantic content.</p>\n<p>Architected an explainability-first evaluation workflow using GradCAM with pattern reshaping, LIME prediction analysis, and batch analysis to surface failure modes and connect predictions to specific image regions.</p>"}},{"node":{"frontmatter":{"title":"Firewall Configuration Interface","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAADAklEQVQ4y41UWUhUURi+vQWCPoSUREiYKOUCuWQjEiIW7YuQkW1OBEkv9R699FAkwTzUwzzUQz4IEaUFamEupZWZKTrOONudTY1ZyNnunZk7yxf/ce442pX64ZsznHvOd77vP/9/uFQqhWwkk0koRTweRyQSYdgYtI8ikUiAU9rsdnsx+WMauvkF6HQLWFkJMMJgMIhAIIjRT1/Q09vH4PZ42Z5QKIRYLAZOkqT0wgD8fj/74HS6oJs3wMrbwPN2hELhzGGRSBTNF9qRW3EQXGEZ+gdH2HxMkpg7ThAEmM1mWCwWBqvVykaX0wm73Q6Xy8WsyKkIBkM4qu7ArsbD4Ioq0fdxlM1L8TizzpEig8EAo9EIvV7PCJeWluB0OhkZgfIm50kQRFy8dQc1R46hqL4JQ2PfMjlmCkVRhM1mY1hcXITH44HX62UjpSIajbKFBCIlJV3dr/FIo0WnRgsr78hcCCOkHJIKt9vN8kcEpIhOlG9QPp1CFEQ0tqqxdV8tuN2VGBj6nLHMCGkD2ZydnWW2Zfs0Li8vM6XkQrYsihEcaLmMreXV4Eqq0D+8gZB+HA4HI+B5PgOTycTmiXSjwoZWNXbUHcKW0moMDI/9rZBsUw0Rsv8TKDdywadSSXbLtWfbkFNeA25nCXo/DK8SStLqLctW/hWJrA7quPcQdefVULVcg27OyObki+M2tt5moJh53413T++ip/M2TJMj+Gq1oH9mAoO6KQRFga3JKFRSKpMl0t+utl8Cl78dXF4eNE8eQ3XzBnIb6lFw8jjm7fz/E65+S2H6+zh6e17h7ZuX4M0L+DlnwPjEFCamZhAWFBRuZlXOUXYEQmE0nWtDdfMp7G8+A6PZukaoRLBOaZqQyoceAYpfHh+Ka1XIL92LnIo6zOmN6xUq2VR6K6mM2BPn+43iKhUKSsuwrVIFnUxIi6jeqOXkWlKC3Kuy9bAoQtP1Ave1Wjx4/gxun2+NkFqLnjEpbUcpDdTfUvrNo/AF/Ki5fgWFp09gT2sL9E4bI/wDUKBP3cUCxhsAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/fc48b83cea261d28e2198a0911dece17/316c6/demo.png","srcSet":"/static/fc48b83cea261d28e2198a0911dece17/57686/demo.png 175w,\n/static/fc48b83cea261d28e2198a0911dece17/3d2e7/demo.png 350w,\n/static/fc48b83cea261d28e2198a0911dece17/316c6/demo.png 700w,\n/static/fc48b83cea261d28e2198a0911dece17/8a972/demo.png 1400w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/fc48b83cea261d28e2198a0911dece17/1deaf/demo.avif 175w,\n/static/fc48b83cea261d28e2198a0911dece17/c5f49/demo.avif 350w,\n/static/fc48b83cea261d28e2198a0911dece17/6d255/demo.avif 700w,\n/static/fc48b83cea261d28e2198a0911dece17/deb2f/demo.avif 1400w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/fc48b83cea261d28e2198a0911dece17/819d1/demo.webp 175w,\n/static/fc48b83cea261d28e2198a0911dece17/16d85/demo.webp 350w,\n/static/fc48b83cea261d28e2198a0911dece17/e6da3/demo.webp 700w,\n/static/fc48b83cea261d28e2198a0911dece17/8e66c/demo.webp 1400w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":682}}},"tech":["NLP","Agent-Based Systems","Static Analysis","Batfish","Network Security"],"github":"https://github.com/ftaghiyev/firewall-configuration-interface","external":"https://arxiv.org/abs/2512.10789","cta":"https://www.helpnetsecurity.com/2026/01/06/research-natural-language-firewall-configuration/"},"html":"<p>Architected an NLP-driven engine that translates natural language policy intents into intermediate representations and compiles vendor-agnostic firewall configurations.</p>\n<p>Integrated a validation workflow with static analysis, safety gates, and Batfish network simulation to verify logical correctness and syntax integrity while reducing the risk of security policy misconfigurations.</p>"}},{"node":{"frontmatter":{"title":"Music Recommendation","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAd4clDD/xAAWEAADAAAAAAAAAAAAAAAAAAAAIEH/2gAIAQEAAQUCSn//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAYEAACAwAAAAAAAAAAAAAAAAABEBEhQf/aAAgBAQABPyGbKCwv/9oADAMBAAIAAwAAABATD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABoQAQADAQEBAAAAAAAAAAAAAAEAETFBEFH/2gAIAQEAAT8QsA8lUVe/WKyJr2oLo55//9k="},"images":{"fallback":{"src":"/static/abcc2a1261e3a84c35cd485270613f02/db1b5/demo.jpg","srcSet":"/static/abcc2a1261e3a84c35cd485270613f02/1849b/demo.jpg 175w,\n/static/abcc2a1261e3a84c35cd485270613f02/3f5de/demo.jpg 350w,\n/static/abcc2a1261e3a84c35cd485270613f02/db1b5/demo.jpg 700w,\n/static/abcc2a1261e3a84c35cd485270613f02/12f6a/demo.jpg 1400w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/abcc2a1261e3a84c35cd485270613f02/dae43/demo.avif 175w,\n/static/abcc2a1261e3a84c35cd485270613f02/d7667/demo.avif 350w,\n/static/abcc2a1261e3a84c35cd485270613f02/fa1f8/demo.avif 700w,\n/static/abcc2a1261e3a84c35cd485270613f02/57a27/demo.avif 1400w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/abcc2a1261e3a84c35cd485270613f02/5d873/demo.webp 175w,\n/static/abcc2a1261e3a84c35cd485270613f02/26a00/demo.webp 350w,\n/static/abcc2a1261e3a84c35cd485270613f02/81f83/demo.webp 700w,\n/static/abcc2a1261e3a84c35cd485270613f02/7b1d0/demo.webp 1400w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":393}}},"tech":["LaBSE","Contrastive Learning","Ray","MLflow","Kubernetes","Triton Inference Server"],"github":"https://github.com/aslanbayli/multilingual-music-recommendation-model","external":"https://github.com/aslanbayli/multilingual-music-recommendation-model","cta":null},"html":"<p>Fine-tuned a LaBSE encoder with contrastive learning on the Million Playlist Dataset to generate cross-lingual lyric embeddings, using Ray for distributed hyperparameter tuning and MLflow for experiment tracking.</p>\n<p>Orchestrated an end-to-end MLOps pipeline with ArgoCD and Kubernetes for continuous retraining, then deployed the model with FAISS-backed retrieval and FP16 quantization for low-latency real-time serving.</p>"}},{"node":{"frontmatter":{"title":"FireLens","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAYCAYAAAD6S912AAAACXBIWXMAAAsTAAALEwEAmpwYAAADa0lEQVQ4y5VVyW4bVxCco22Zy3D2hbO92XeuIinZsaxDADuHBA7gk4UEyC3/fy6je0iKYRQgPpT6rT3VXfUoSVZtzDQHo6mOsWxgJBuYMUyM5GHtRyAtNwc8/fEXfvvyFU9Pf+Ldz7/i7w8lvh0iSK81yIr5YwnpD7HUTA+65UHWHBi6Dk3T8OqtgjcjBa9HQ/wvvJ1oDKpS0gwPIq4RRiWiuEacNoiSBiLtkGQtsrxDkQ/jNKPYIT3OT2M/zDH3M8xUBxINPv3yOz59/oLd/iP2h0fsdg84HD7idveA+8Mjfrp75PF+/zDsHeen83WzQV4sQeQk3fQRiRoibhCE5YCoPI/9I4JrXJyh+0naQdXnkFTDgy9KyIqNqWJheo4D5Kv5NS73WRQSw4sKXpjMzCMMjiflntcHXJ4lIS4h6ZaPUBTIig5p0SLJSZAaRb3gtTitEWc1j2kvzhqONCcououbsXr2sURfowN51SOMh8RZOSQnlPWS9wh1t0bVLNH2W5433YbvaOb8/Dgkok0Jlus9s+qWt3yxW2zRL2/R9Bt4YQZ7LmDPIzheDNdPeM0LUp57YQrDDoaEU8VkhnSxbteMdrE9J6VITKlsAiUiVpTUj3KOhHmQDiUTQzpIFy9BbKm8slkya/pI1a7ghxksNzqyFXCYuWCmlIt7SP3Y7N5hfXvPl/vVjhnTOyesNgcsVjtuwf7+A9bbO6y2d9ym7f49z2mPnrB0M9aYMn2BenBtETp0aZOTjS5/EC7tIxm2P1gjrVkcywnPNiCcHv3/wdk25ENKmOYtRFohSspBhOOaojnPiSfPl6/BDKkk8h71jIQgb9XNiv2Xli2yZoG8WcD2BCaaBdlwMNXsc4J/JSRDkpIkRNtvkNU9wrJCVnWo+zV0L4BsOpgaDiaOg4ltY6xZzPRFhlxyXCDJWy7RiRKMPQcz34clYsi2i7FuwXYjtojnp4hEAdWY42akYkStGGvPPSQPFc2CBSH7UNlRXiEuGwRpwTFrem4BnfGKgmEFAqrrQ3N9qJ6PiWIeS7ZcGCKCEyb8YighMeUE9IOQNSiqBYvFohU1XJFCZDVEXiMuGpheyKIxQ9ePWdFA5Fz6KVICGvvR8NRIeVqLyQVxyR8iiKRiAqYTDgypZNMJcPp3+k+8tPbyGdKCEn4HuhKSPfrH9+sAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/72166c65cd2143d1a52530843483caf0/ef363/demo.png","srcSet":"/static/72166c65cd2143d1a52530843483caf0/6f824/demo.png 171w,\n/static/72166c65cd2143d1a52530843483caf0/6c442/demo.png 343w,\n/static/72166c65cd2143d1a52530843483caf0/ef363/demo.png 685w","sizes":"(min-width: 685px) 685px, 100vw"},"sources":[{"srcSet":"/static/72166c65cd2143d1a52530843483caf0/15535/demo.avif 171w,\n/static/72166c65cd2143d1a52530843483caf0/f0eee/demo.avif 343w,\n/static/72166c65cd2143d1a52530843483caf0/9a4cf/demo.avif 685w","type":"image/avif","sizes":"(min-width: 685px) 685px, 100vw"},{"srcSet":"/static/72166c65cd2143d1a52530843483caf0/2e80b/demo.webp 171w,\n/static/72166c65cd2143d1a52530843483caf0/aa48a/demo.webp 343w,\n/static/72166c65cd2143d1a52530843483caf0/62a9c/demo.webp 685w","type":"image/webp","sizes":"(min-width: 685px) 685px, 100vw"}]},"width":700,"height":824.6715328467153}}},"tech":["LLMs","Function Calling","GitHub API"],"github":"https://github.com/aslanbayli/firelens","external":"https://github.com/aslanbayli/firelens","cta":null},"html":"<p>Released an open-source web application that integrates Large Language Models (LLMs) with function calling capabilities, allowing users to query GitHub repositories through natural language interactions.</p>\n<p>Implemented a decision-making system to dynamically determine how to utilize the GitHub API for repository content retrieval, optimizing the information flow to an LLM for generating context-aware responses to user inquiries.</p>"}}]}}}