Recent Posts
Student Performance Prediction: When Simple Isn't Always Better
Published on: 2025-09-19
A candid, in-depth account of developing an end-to-end Student Performance Prediction system. This post explores the journey from an experimental Jupyter Notebook to a production-ready, modular ML pipeline, covering the critical roles of custom logging, exception handling, and a component-based architecture. It also details the real-world challenges and hard-won lessons from deploying a Flask application on AWS.
Text Summarizer Journey: Serving the Model (Part 3)
Published on: 2025-09-18
The final step in our MLOps journey is making the trained model useful. This post covers the "last mile" of deployment, showing how to wrap the text summarization model in a high-performance API using FastAPI. I then walk through creating a Dockerfile to containerize the entire application, ensuring a consistent and portable service that can be deployed anywhere.
Text Summarizer Journey: The ML Engine Room (Part 2)
Published on: 2025-09-17
With a robust MLOps pipeline in place, this post dives into the core machine learning workflow of the Text Summarizer project. I explore each critical stage: transforming the raw SAMSum dataset for the model, fine-tuning a pre-trained Pegasus Transformer using a configuration-driven approach, and quantitatively evaluating its performance with ROUGE metrics.
Text Summarizer Journey: The MLOps Blueprint (Part 1)
Published on: 2025-09-16
My Text Summarizer project started in a Jupyter notebook—a great place for experimentation, but a fragile foundation for a real application. This post details the journey of refactoring that initial script into a robust, production-ready MLOps pipeline, tackling the challenges of hardcoded paths, scattered configuration, and monolithic execution with a modular, component-based architecture.
When SageMaker Humbled Me: A Cloud-Native ML Reality Check
Published on: 2025-09-15
I thought taking a scikit-learn model to the cloud would be simple, but AWS SageMaker taught me more about cloud architecture and DevOps than I ever expected. This post details my entire journey, from battling IAM roles and structuring S3 buckets to mastering the SageMaker training patterns that finally bridged the gap between my local machine and a production-ready endpoint. It's a story of the struggles, the breakthroughs, and the hard-won lessons learned while building a real-world ML pipeline.
From Notebook to UI: The Web Deployment Journey (Part 2)
Published on: 2025-09-13
A machine learning model is useless if no one can use it. This post covers the "last mile" problem: giving my PyTorch model an interactive body. This is the story of my struggle against frozen UIs, the architectural epiphany that led to a framework-agnostic core, and the final lessons learned while building identical apps in both Flask and FastAPI.
From Notebook to UI: The Local Development Journey (Part 1)
Published on: 2025-09-12
My FoodVision Mini project started with a simple question in a Jupyter Notebook, but the answer required a real engineering journey. This post tells the story of how I tamed chaotic experiments with a systematic process, unlocked the true power of transfer learning through trial and error, and refactored a monolithic script into a robust, modular ML pipeline.
From Messy Data to Production MLOps: My Network Security Journey (Part 2)
Published on: 2025-09-09
With a working local pipeline, the "easy" part was next: deployment. This turned into a multi-day AWS nightmare. After successfully automating the CI/CD pipeline with GitHub Actions, the app was live but unreachable. The culprit? A single, critical line of code related to container networking. This post dives into the humbling, real-world challenges of cloud infrastructure, debugging EC2 security groups, and the final "aha!" moment that brought the entire system online.
From Messy Data to Production MLOps: My Network Security Journey (Part 1)
Published on: 2025-09-08
My journey began with a classic MLOps mistake: underestimating messy data. My model worked locally, but I spent weeks debugging failures until a breakthrough came from implementing rigorous data validation schemas and drift detection. This post covers the foundational engineering—modular architecture, custom logging, and experiment tracking—that's essential *before* you even think about the cloud. It’s the story of building a resilient pipeline from the ground up.