Aditya Tiwari

Aspiring Machine Learning Engineer

Building machine learning systems and documenting my engineering journey.

AdityaLab

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.

Engineering Philosophy

Systems Thinking

Machine learning models are only one component of a larger software system. Focus on deployment, APIs, infrastructure, validation, and maintainability.

Reproducibility & Maintainability

Prioritize modular code, reproducible experiments, clean interfaces, validation, and maintainable pipelines.

Learning in Public

Document experiments, failures, trade-offs, and engineering decisions to create a transparent learning record.

Currently Building

Loan Approval Prediction System

  • Status: Building Backend infrastructure
  • Last Updated: July 2026
  • Next Milestone: Host on Cloud

Now

  • 📖 Reading: Designing ML Systems
  • 🧠 Learning: Decisin Tree
  • ⚙️ Building: Loan Prediction API
  • 🎯 Goal: Deploy on AWS

Journey

My development as an engineer focuses on transitioning from mathematical concepts to production software execution.

Foundation (2024)

Established foundational scripting in Python, learning data processing libraries (Pandas, NumPy) and basic statistical classification methods.

Machine Learning (2025 - Present)

Learned scikit-learn pipeline engineering to prevent training-serving data leakage. Began exploring REST API architectures using FastAPI.

Systems Engineering (June - July 2026 )

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.

3rd Year

NIMS B.Tech AIML

Core Tech Stack

Python Pandas NumPy scikit-learn OpenCV FastAPI Pydantic AWS (S3) Git

Case Studies

Interactive breakdowns of machine learning systems. Click on a case study header to expand detailed technical notes.

Loan Approval Prediction System

Python Pandas scikit-learn FastAPI Pydantic

01. Overview

A classification model and API designed to predict loan approval outcomes using applicant financial profiles.

02. Problem

Manual credit evaluation is slow and subjective. Automating classifications requires preprocessing numeric/categorical features and exposing predictions as a fast, type-safe API.

03. Approach

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.

04. System Design

Client Request (JSON) │ ▼ FastAPI Gateway │ ▼ Pydantic Validation (Type Verification) │ ▼ scikit-learn Pipeline (Scaling/Encoding) │ ▼ Tabular Classifier Model │ ▼ JSON Classification Response

05. Engineering Decisions

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.

06. Challenges

Data leakage between folds occurred during separate categorical and numerical preprocessing. Solved by encapsulation inside unified ColumnTransformer and Pipeline flows.

07. Lessons Learned

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.

08. Future Improvements

Provisioning the FastAPI microservice to deploy automatically on AWS Lambda serverless endpoints using Terraform configurations.

Self-Hosted Cloud Infrastructure

AWS EC2 Nginx PM2 Certbot

01. Overview

The infrastructure layer behind adityalab.dev and its subdomains, self-hosted on a single AWS EC2 instance instead of a managed platform.

02. Approach

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.

03. Key Decision

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.

04. Challenge

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.

05. What's Next

Containerizing the deployed services and scripting the EC2 provisioning instead of configuring it by hand.

Wallpaper Engine

Python pytest

01. Overview

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.

02. Approach

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.

03. Key Decision

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.

04. Challenge

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.

05. What's Next

Expanding the color-mapped efficiency tiers and building longer-term trend views beyond the current 7-day and monthly aggregates.

AI Chat Analyzer

Python Pandas

01. Overview

A Python pipeline that parses raw chat logs and turns them into summary statistics and visualizations — topic distribution, sentiment trends, and satisfaction over time.

02. Approach

Structured into separate data, processing, and reporting layers, with unit tests covering the core analysis logic. Outputs a JSON summary alongside the generated charts.

ML-Practice

Python NumPy Pandas scikit-learn

01. Overview

Core supervised learning algorithms implemented from scratch and with scikit-learn (regression, classification), using NumPy/Pandas for data handling — a working reference of ML fundamentals.

Engineering Journal

Learning in public: technical documentation logs detailing ML workflows, code investigations, and system architectures.

scikit-learn July 2026

Learning scikit-learn Pipelines

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.

API Design July 2026

Understanding FastAPI and Pydantic validation

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.

Cloud July 2026

Deploying AWS Lambda with Terraform

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.

Learning Roadmap

A structured summary of my immediate focus and technical progression path.

Currently Exploring

  • • Python programming
  • • Tabular datasets (Pandas, NumPy)
  • • scikit-learn modeling
  • • FastAPI & Pydantic validation
  • • Git version control

Next

  • • Terraform configurations
  • • Containerization concepts
  • • AWS Lambda setup

Future

  • • AWS API Gateway setup
  • • Basic CI/CD scripts
  • • Data validation checks

Long-term

  • • Model registries & tracking
  • • Automated monitoring
  • • Data versioning systems

Let's Build Something Together

Let's Connect!

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 8797599640

Mail

txwariaditya@gmail.com

Location

New Delhi, India