Machine learning & computer vision.

Custom models for when a general-purpose API is the wrong tool.

  • PyTorch
  • TensorFlow
  • U-Net
  • Computer Vision

The problem

A model can score well and still fail in use. It learned the common cases, missed the rare ones, and nobody checked where it goes wrong.

Here’s how I build it

How I build it.

5 steps from the first conversation to launch. The diagram fills in as each part gets built.

  1. Step 01

    Understand the data

    First I look at what you have: how much data, how it’s labelled, and which classes are rare. That decides more than the choice of model.

  2. Step 02

    Prepare it

    Labels are checked and fixed. Augmentation adds variety to the rare classes, so the model doesn’t only learn the common ones.

  3. Step 03

    Train the model

    The model fits the task: a CNN to classify, YOLO to detect, U-Net to segment, a text model for NLP. Usually it starts from a pretrained one.

  4. Step 04

    Evaluate honestly

    It’s tested on data it never saw in training, with the measure that fits: accuracy, Dice for segmentation, a confusion matrix to show where it fails.

  5. Step 05

    Put it to work

    The model ships behind an API or inside an app, such as a Flask or Streamlit interface, ready for new images or text.

What you get.

All of it, or only the part you need. Each piece can be scoped on its own.

Built with

  • PyTorch
  • TensorFlow
  • U-Net
  • Computer Vision
  1. 01Image classification, detection and segmentation
  2. 02Training on your data, with augmentation for class imbalance
  3. 03NLP classification and extraction
  4. 04Honest evaluation — accuracy, Dice, confusion matrices

Where I’ve done it.

Quoted from my CV, then the builds you can open and check for yourself.

  • Itsolera

    Deep Learning Intern

    Jul — Oct 2024

    • Built a CNN content-moderation system for images and text, plus a facial-recognition attendance system.
    • Implemented real-time product-detection models for retail shelf monitoring with computer vision.
  • UH

    University of Haripur

    BS Computer Science — CGPA 3.79 / 4.0

    Sep 2021 — Jul 2025

    • Trained a 2D U-Net on the BraTS2020 MRI dataset to segment necrotic core, edema and enhancing tumour regions — 99.2% validation accuracy and a 0.71 Dice score, using custom augmentation to handle class imbalance.
  • Bytewise

    Machine Learning Fellow

    Jun — Sep 2024

    • Applied end-to-end ML workflows on real datasets with scikit-learn and pandas.

Questions clients ask.

Not covered here? Ask me directly.

How much data do I need?

It depends on the task. Starting from a pretrained model usually needs far less labelled data than training from zero. A look at your data gives a real answer.

Can you use the data we’ve already labelled?

Yes. I check the labels first, because a model learns its labels’ mistakes along with everything else.

Why not just use an AI API?

Sometimes you should. For detection in camera frames, segmentation in medical images or fast classification on your own servers, a trained model is often more accurate and cheaper to run.

How will I know how good it is?

You get the evaluation on held-out data, including the cases where it fails, not a single accuracy number.