Hello, world

This is the first post on the blog. It exists mostly to prove the pipeline works end to end — Markdown in, static HTML out, deployed to muhammad-ahmed.com/blog.

What I plan to write about

Mostly the things I spend my days on: applied machine learning, competitive ML on Kaggle, and the unglamorous engineering that surrounds a model once it has to run somewhere other than a notebook.

Code renders like this

import polars as pl

def load_folds(path: str, n_folds: int = 5) -> pl.DataFrame:
    """Read a training set and attach a deterministic fold index."""
    return (
        pl.read_parquet(path)
        .with_row_index("row_id")
        .with_columns((pl.col("row_id") % n_folds).alias("fold"))
    )

And inline code works too, alongside bold, italics, and links.

Blockquotes are styled with the same accent colour as the portfolio.

That is all for the scaffold.

Daily, by email

Stay current on AI without the scrolling

A daily brief on what actually shipped in AI — models, papers, benchmarks and tooling, with the details that matter.

Confirmation email first, one message a day, unsubscribe in one click.