Aspiring Machine Learning Engineer
Building machine learning systems and documenting my engineering journey.
A engineering notebook documenting my journey toward becoming a Machine Learning Engineer.
Every project, engineering note, and case study reflects real work, real learning, and continuous improvement.
Machine learning models are only one component of a larger software system. Focus on deployment, APIs, infrastructure, validation, and maintainability.
Prioritize modular code, reproducible experiments, clean interfaces, validation, and maintainable pipelines.
Document experiments, failures, trade-offs, and engineering decisions to create a transparent learning record.
Loan Approval Prediction System
My development as an engineer focuses on transitioning from mathematical concepts to production software execution.
Established foundational scripting in Python, learning data processing libraries (Pandas, NumPy) and basic statistical classification methods.
Learned scikit-learn pipeline engineering to prevent training-serving data leakage. Began exploring REST API architectures using FastAPI.
Got and Internship as a QA Intern at Panacee, where I translate validation requirements into structured and effective test scripts to support software quality assurance. Currently I am expanding my expertise in Deep Learning and exploring its applications in intelligent systems.
NIMS B.Tech AIML
Interactive breakdowns of machine learning systems. Click on a case study header to expand detailed technical notes.
A classification model and API designed to predict loan approval outcomes using applicant financial profiles.
Manual credit evaluation is slow and subjective. Automating classifications requires preprocessing numeric/categorical features and exposing predictions as a fast, type-safe API.
Created an end-to-end preprocessing and model pipeline with scikit-learn, validating inputs using Pydantic, and serving inference requests via a FastAPI web server.
Selected scikit-learn for training to leverage its native Pipeline interface. Chose Pydantic schema validation inside FastAPI to reject invalid client inputs at the API entry point.
Data leakage between folds occurred during separate categorical and numerical preprocessing. Solved by encapsulation inside unified ColumnTransformer and Pipeline flows.
Biggest Lesson (Model vs. System): Model accuracy wasn't the hardest problem. Building a reliable preprocessing pipeline and validating inputs correctly took significantly more engineering effort than training the model itself.
Provisioning the FastAPI microservice to deploy automatically on AWS Lambda serverless endpoints using Terraform configurations.
The infrastructure layer behind adityalab.dev and its subdomains, self-hosted on a single AWS EC2 instance instead of a managed platform.
Configured Nginx as a reverse proxy in front of the deployed services, with PM2 managing process lifecycle and automatic restarts, and Certbot handling TLS certificate issuance and renewal.
Chose to self-host on EC2 rather than a PaaS to get hands-on with reverse proxying, process management, and certificate renewal — the operational work a managed platform would otherwise hide.
Diagnosed a production HTTPS/HSTS connectivity issue that was blocking access after a certificate change, traced it to a stale HSTS policy cached by browsers, and resolved it while hardening the Certbot renewal setup.
Containerizing the deployed services and scripting the EC2 provisioning instead of configuring it by hand.
A desktop productivity tracker that scores each day 0-100 and renders the result as a wallpaper, split into a deterministic scoring core and a purely visual renderer.
Built two isolated layers: a core/ module handling daily scoring, day-locking, and 7-day/monthly aggregation — fully unit tested — and a desktop/ renderer that reads the summary data and generates the wallpaper image without ever mutating state.
Decoupled scoring logic from rendering so the renderer can never alter discipline history — the core layer owns all state, and the renderer only reads it.
Needed a way to allow for the occasional missed day without undermining the immutability rule. Solved with a one-time next-day recovery window, after which locked days can never be edited.
Expanding the color-mapped efficiency tiers and building longer-term trend views beyond the current 7-day and monthly aggregates.
A Python pipeline that parses raw chat logs and turns them into summary statistics and visualizations — topic distribution, sentiment trends, and satisfaction over time.
Structured into separate data, processing, and reporting layers, with unit tests covering the core analysis logic. Outputs a JSON summary alongside the generated charts.
Learning in public: technical documentation logs detailing ML workflows, code investigations, and system architectures.
Documenting how to construct formal ML preprocessing pipelines. Bundling scaling, imputers, and encoders inside Pipeline and ColumnTransformer modules to enforce validation rules and prevent data leakage during training splits.
Building HTTP REST APIs for local model inference. Using FastAPI query endpoints and declaring Pydantic base schemas to validate input json data payloads, generating clean self-documenting OpenAPI endpoints automatically.
Investigating Infrastructure as Code (IaC) architectures. Writing basic Terraform scripts to define and automate AWS Lambda serverless functions, testing endpoints deployment and IAM permissions roles configuration.
A structured summary of my immediate focus and technical progression path.
I'm always interested in discussing machine learning systems, software engineering, internships, and collaborative projects. Feel free to reach out through the contact form or connect with me directly.
Phone
+91 8797599640Location
New Delhi, India