Skip to content
View AmjadAAYD's full-sized avatar
🎯
Focusing
🎯
Focusing
  • Morocco
  • 19:02 (UTC)

Highlights

  • Pro

Block or report AmjadAAYD

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
AmjadAAYD/README.md
Welcome to my Rep

Amjad  ·  Data science and AI engineering


Welcome to my Rep

Time series, NLP, and the plumbing that keeps a model breathing.

Two internships forecasting industrial SO2 emissions, tabular to sequential, then wired into predictive control.

On the weekend I make random software about some random stuff, or basically reverse engineer things nobody bothered to document.

Anyone can post a number and call it a win. I show what it beat. That's where the work begins. Every model looks like genius till you sit a dumb one down, and the dumb one ties the score. So who's wearing the crown?

class Amjad:
    day    = ["time series", "NLP", "the engineering that keeps it running"]
    night  = "taking apart hardware that shipped without software"
    rule   = "a result without its baseline means nothing"

    def ship(self, model, baseline):
        if model.score <= baseline.score:
            raise ValueError("you learned autocorrelation, not the process")
        return model, baseline          # both. always both.

Where I spend my time

graph LR
    ME(("Amjad"))

    ME --- ML["AI and Machine Learning"]
    ML --- ML1["Time Series Forecasting"]
    ML --- ML2["Model Evaluation"]
    ML --- ML3["Computer Vision"]

    ME --- NLP["NLP and LLM Agents"]
    NLP --- N1["RAG and Vector Search"]
    NLP --- N2["Multi Agent Systems"]
    NLP --- N3["Text Classification"]

    ME --- DE["Data Engineering"]
    DE --- D1["Pipelines and Orchestration"]
    DE --- D2["Docker and Object Storage"]
    DE --- D3["SQL and Warehousing"]

    ME --- RE["Reverse Engineering"]
    RE --- R1["Bluetooth LE Protocols"]
    RE --- R2["Packet Analysis"]
    RE --- R3["Binary Inspection"]

    classDef centre fill:#2C2624,stroke:#FF8A5B,stroke-width:3px,color:#F4F0EB
    classDef ml fill:#3A2A20,stroke:#FF8A5B,stroke-width:2px,color:#FFD3BE
    classDef nlp fill:#2A2438,stroke:#A98BE0,stroke-width:2px,color:#DCCEF5
    classDef de fill:#1F2E2A,stroke:#86C08A,stroke-width:2px,color:#CFE8D1
    classDef re fill:#33262B,stroke:#E5645E,stroke-width:2px,color:#F6CFCD

    class ME centre
    class ML,ML1,ML2,ML3 ml
    class NLP,N1,N2,N3 nlp
    class DE,D1,D2,D3 de
    class RE,R1,R2,R3 re
Loading

The work

ProjectWhat it doesResult
x20ctl
reverse engineering
My gamepad shipped with no PC software, so I decompiled the vendor app, recovered the Bluetooth protocol, and wrote the tool that should have existed Protocol documented from scratch. No prior public record of it exists
sma-veille-technologique
LLM agents
Three agents read AI publications overnight and write the summary Daily report in under 2s, no human in the loop
spam-detection-nlp
NLP
Sorts email into legitimate and spam, three approaches put head to head 99% correct on 1,160 test messages
weather-data-pipeline
data engineering
Medallion pipeline over 10 cities, bronze through gold Automated end to end, ingestion through dashboard
pneumonia-detection-pytorch
computer vision
Spots pneumonia in chest X-rays 87.5% on 624 images, against a 62.5% baseline
arima-vs-lstm-forecasting
forecasting
Classical statistics against deep learning, same data, same split Compared on 43,848 hourly readings

The kit

Machine learning

Data engineering and infrastructure

Also in the bag

Pandas NumPy XGBoost LangGraph Qdrant Airflow MinIO Power BI PySide6 Bluetooth LE


The numbers


The Bar

A baseline is a bar. Something already standing in the room, doing the job badly, waiting to see whether you can clear it.

This field makes it easy to fool yourself. A model can look brilliant while it is only repeating the last value it saw. An accuracy can look strong until you notice one class is 90% of the data. A metric can climb while the thing you actually cared about goes nowhere. The only defence is to stand something stupid next to your work and check that you genuinely beat it.

So every repo here carries what it was measured against, and says where the method breaks down. Not out of modesty. A number with nothing beside it isn't evidence, it's just a claim.

Anyone can post a number. Show me what it beat.


Open an issue on any repo if you want to talk.

Pinned Loading

  1. arima-vs-lstm-forecasting arima-vs-lstm-forecasting Public

    ARIMA vs LSTM for time series forecasting, compared on 43848 hourly temperature readings

    Jupyter Notebook

  2. pneumonia-detection-pytorch pneumonia-detection-pytorch Public

    Pneumonia detection on chest X-rays with a VGG-style CNN in PyTorch, 87.5% on 624 test images

    Jupyter Notebook

  3. sma-veille-technologique sma-veille-technologique Public

    Multi-agent technology watch system built on LangGraph, Qdrant and n8n, producing a daily AI report unattended

    Jupyter Notebook

  4. spam-detection-nlp spam-detection-nlp Public

    Spam detection: TF-IDF + Naive Bayes vs Word2Vec + logistic regression vs GPT zero-shot, on 1160 test e-mails

    Jupyter Notebook 2

  5. weather-data-pipeline weather-data-pipeline Public

    Medallion data pipeline (Bronze/Silver/Gold) with Airflow, MinIO, Docker and Power BI

    Python

  6. x20ctl x20ctl Public

    Open configuration library for the EasySMX X20 gamepad and other KeyLinker-protocol controllers. Reverse engineered for interoperability.

    Python 4 2