# Building MLBox: What I Learned While Working on a Python Project

One of the best ways I've found to learn programming is to work on an actual project.

For me, that project is **MLBox**.

GitHub repository:

https://github.com/mohittt-vermaa/mlbox

## What Is MLBox?

MLBox is a project I'm developing while learning Python, software development, and machine-learning-related concepts.

Rather than treating it as a finished product, I see MLBox as part of my learning journey.

The project gives me a place to experiment with code and gradually improve my understanding of how software projects are built.

## Why I Started It

When learning programming, tutorials can teach individual concepts, but projects introduce problems that don't always appear in tutorials.

For example:

*   How should files be organized?
    
*   How should different parts of a program communicate?
    
*   How do I find bugs?
    
*   How should dependencies be handled?
    
*   How can I make code easier to understand?
    
*   How do I document what I've built?
    

Working on MLBox gives me an opportunity to learn these things through practice.

## What I'm Learning From the Project

### 1\. Python

Python is one of the main technologies I'm learning.

I'm using projects to become more comfortable with Python syntax, modules, functions, libraries, and project organization.

### 2\. Debugging

Bugs are a normal part of programming.

When something doesn't work, I have to understand the error, identify the cause, test a solution, and check whether the change actually fixes the problem.

This has taught me that debugging is an important programming skill.

### 3\. GitHub

I use GitHub to manage and share my code.

It also gives me experience with concepts such as repositories, commits, branches, and project documentation.

### 4\. Learning From Mistakes

Not everything works on the first attempt.

Sometimes code needs to be changed, reorganized, or completely reconsidered.

I've learned that mistakes are useful when I understand why they happened.

## What I Want to Improve

As I continue working on MLBox, I want to improve:

*   Code quality
    
*   Documentation
    
*   Project structure
    
*   Testing
    
*   Python skills
    
*   Machine-learning knowledge
    
*   Software-development practices
    

## Follow the Project

You can follow the project and see its current state here:

https://github.com/mohittt-vermaa/mlbox

My GitHub profile:

https://github.com/mohittt-vermaa

I'll continue updating the project as I learn.

* * *

**Next:** I'll write about how I built my personal developer website and connected my online projects and profiles together.
