Build With Abdallah logo Build With Abdallah Software · AI · Automation
Tutorial 6 min read Jun 05, 2026

AI Is Changing How We Build

A quick look at how AI is transforming the developer workflow.

A
Abdallah Mohamed
Senior Full-Stack Engineer
AI Is Changing How We Build

AI Is Changing How We Build

Artificial Intelligence (AI) is transforming the landscape of software development. By automating repetitive tasks, providing intelligent insights, and enhancing decision-making processes, AI is reshaping how we build applications. As developers, understanding and leveraging AI tools can significantly enhance our productivity and the quality of our applications. This tutorial will guide you through creating a simple AI-powered application, showcasing how AI can be integrated into your development workflow.

Prerequisites

To follow along with this tutorial, ensure you have the following installed on your system:

  • Python 3.8 or later: Install Python from the official website or use the following command if you're on a Unix-based system:

    sudo apt-get update
    sudo apt-get install python3
    
  • pip: Python's package installer. Install it using:

    sudo apt-get install python3-pip
    
  • Virtualenv: To create isolated Python environments. Install it using:

    pip install virtualenv
    
  • Git: Version control system. Install it using:

    sudo apt-get install git
    

Project Structure

Here's the directory structure for the project we'll build:

ai-project/
│
├── env/
├── data/
│   └── input.txt
├── models/
│   └── model.pkl
├── scripts/
│   ├── train.py
│   └── predict.py
└── requirements.txt

Step 1: Setting Up the Environment

First, we need to set up a virtual environment and install the necessary Python packages.

  1. Create a project directory and navigate into it:

    mkdir ai-project
    cd ai-project
    
  2. Set up a virtual environment:

    virtualenv env
    source env/bin/activate
    
  3. Create a requirements.txt file and add the following dependencies:

    numpy
    pandas
    scikit-learn
    
  4. Install the dependencies:

    pip install -r requirements.txt
    

These steps ensure that your project has an isolated environment with all the necessary libraries installed.

Step 2: Preparing the Data

In any AI project, data is crucial. We'll start by creating a simple dataset that our model will use.

  1. Create a data directory and an input.txt file inside it:

    mkdir data
    touch data/input.txt
    
  2. Add the following sample data to input.txt:

    1,2,3
    4,5,6
    7,8,9
    

This file contains simple comma-separated values that we will use to train a basic model.

Step 3: Building a Simple Model

Now, we will create a simple linear regression model using scikit-learn.

  1. Create a scripts directory and a train.py file inside it:

    mkdir scripts
    touch scripts/train.py
    
  2. Add the following code to train.py:

    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import pickle
    
    # Load data
    data = pd.read_csv('../data/input.txt', header=None)
    X = data.iloc[:, :-1].values
    y = data.iloc[:, -1].values
    
    # Train model
    model = LinearRegression()
    model.fit(X, y)
    
    # Save model
    with open('../models/model.pkl', 'wb') as model_file:
        pickle.dump(model, model_file)
    
    print("Model trained and saved successfully.")
    
  3. Run the training script:

    python scripts/train.py
    

This script loads the data, trains a linear regression model, and saves it to a file. The model is now ready to make predictions.

In these initial steps, we've set up the project environment, prepared a dataset, and trained a basic machine learning model. In the next part of this tutorial, we will focus on using this model to make predictions and integrating AI into more complex workflows.


```markdown
## Step 4: Making Predictions

With the model trained and saved, we can now use it to make predictions. We will create a script to load the model and make predictions on new data.

1. Create a `predict.py` file inside the `scripts` directory:

    ```bash
    touch scripts/predict.py
    ```

2. Add the following code to `predict.py`:

    ```python
    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import pickle

    # Load model
    with open('../models/model.pkl', 'rb') as model_file:
        model = pickle.load(model_file)

    # New data for prediction
    new_data = np.array([[10, 11]])

    # Make prediction
    prediction = model.predict(new_data)

    print(f"Prediction for input {new_data} is {prediction}")
    ```

3. Run the prediction script:

    ```bash
    python scripts/predict.py
    ```

This script loads the previously trained model and uses it to make predictions on new data. You can modify the `new_data` array to test predictions with different inputs.

## Step 5: Complete Working Example

With all components in place, here is the complete working example of our AI-powered application:

- **Directory Structure**:

    ```
    ai-project/
    ├── env/
    ├── data/
    │   └── input.txt
    ├── models/
    │   └── model.pkl
    ├── scripts/
    │   ├── train.py
    │   └── predict.py
    └── requirements.txt
    ```

- **`requirements.txt`**:

    ```plaintext
    numpy
    pandas
    scikit-learn
    ```

- **`data/input.txt`**:

    ```plaintext
    1,2,3
    4,5,6
    7,8,9
    ```

- **`scripts/train.py`**:

    ```python
    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import pickle

    # Load data
    data = pd.read_csv('../data/input.txt', header=None)
    X = data.iloc[:, :-1].values
    y = data.iloc[:, -1].values

    # Train model
    model = LinearRegression()
    model.fit(X, y)

    # Save model
    with open('../models/model.pkl', 'wb') as model_file:
        pickle.dump(model, model_file)

    print("Model trained and saved successfully.")
    ```

- **`scripts/predict.py`**:

    ```python
    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import pickle

    # Load model
    with open('../models/model.pkl', 'rb') as model_file:
        model = pickle.load(model_file)

    # New data for prediction
    new_data = np.array([[10, 11]])

    # Make prediction
    prediction = model.predict(new_data)

    print(f"Prediction for input {new_data} is {prediction}")
    ```

## Common Errors and Fixes

1. **FileNotFoundError: No such file or directory**  
   - **Cause**: Incorrect path to `input.txt` or `model.pkl`.
   - **Fix**: Ensure paths are relative to the script's location. Use `../` to navigate up directories if necessary.

2. **ModuleNotFoundError: No module named 'pandas'**  
   - **Cause**: Missing Python package.
   - **Fix**: Run `pip install -r requirements.txt` to install all required packages.

3. **ValueError: shapes (1,2) and (3,) not aligned**  
   - **Cause**: Mismatch between input data shape and model's expected input shape.
   - **Fix**: Ensure `new_data` in `predict.py` has the same number of features as the training data.

## Conclusion

In this tutorial, we built a simple AI-powered application using Python and scikit-learn. We set up a development environment, prepared data, trained a linear regression model, and used it to make predictions. This example demonstrates how AI can be integrated into applications to automate tasks and provide insights. While this is a basic implementation, it serves as a foundation for more complex AI-driven projects.

## Sources

- [Python Official Website](https://www.python.org/)
- [scikit-learn Documentation](https://scikit-learn.org/stable/documentation.html)
- [Pandas Documentation](https://pandas.pydata.org/docs/)
- [NumPy Documentation](https://numpy.org/doc/)