Adam Djellouli · Projects 2019 → today

Software for the age of agents.

Since 2025 most of what I build either gives AI models real tools to work with, or measures and polishes what they produce. Below that: the game engine, the courses, the everyday tools, and an archive of what came before.

  • 126public repositories
  • 1,700+GitHub stars
  • 20+courses & guides

The highlight · 2025 → now

AI agents & MCP servers

Tools for a future where models do more of the work: servers that let an assistant drive professional software, a formatter for the Markdown and LaTeX they write, and a benchmark that checks whether code really scales the way it should.

A TempoBench report comparing merge sort in C++, Rust and Python, each fitted O(n log n) with high confidence ● Reel
Checks what code really costs★

TempoBench

Benchmark any command in any language over a sweep of input sizes, then let TempoBench fit the growth curve: O(n), O(n log n), O(n²)… with a confidence level and the reason for any doubt. It writes an HTML report and can turn the result into a narrated vertical video.

19,183×Miller–Rabin over trial division at n = 10¹⁶, one of nine algorithm races, each with both classes fitted correctly

Why it matters now: when an agent writes the code, a fitted growth curve is a quick, honest check that it scales.

  • Python
  • CLI
  • Curve fitting
  • Reports
  • Video
Before · what a model writes
$$
\alpha u
+
\beta\frac{\partial u}{\partial n} =
g
\qquad
\text{on } \partial\Omega.
$$
After · marklign
$$
\alpha u + \beta \frac{\partial u}{\partial n} = g
\qquad \text{on } \partial\Omega
$$
Cleans up model output★

marklign

A Markdown formatter written in Rust that takes special care of display LaTeX. It joins orphaned operators into readable expressions and never leaves a line Markdown would misread: a lone = or - inside $$…$$ turns half an equation into a heading in most renderers.

  • Rust
  • Comrak
  • LaTeX
  • Formatter
A narrated-slides video made from a VideoGenome blueprint: a glowing light bulb with the caption 'Every video starts as an idea'
Directing know-how for models · new★

VideoGenome

An open, renderer-independent specification for video-production expertise. Strong models write and refine blueprints for directing, pacing, sound and design; smaller models pick one and fill in the content, instead of reinventing film-making for every video. Pluggable tools (text-to-speech, ComfyUI, Blender over MCP) make the assets and an FFmpeg renderer assembles the cut.

  • Python
  • Specification
  • Blueprints
  • Rendering
A still life of a red sphere, a blue cube and a gold ring, rendered in Blender from a single sentence
An assistant drives Blender★

Blender MCP Server

Ask in plain language and the assistant builds the scene: objects, materials, lights, renders and exports, through explicit tool calls you can read back.

MCP client→Python server→Blender add-on
  • 27tools
  • 7namespaces
  • PyPIpip install
ParaView controlled through MCP: a dataset sliced and coloured by an AI assistant
An assistant drives ParaView★

ParaView MCP Server

Scientific visualisation by conversation: open a dataset, add filters, slice, contour, colour by a field, and move the camera in a live ParaView session.

MCP client→Server→pvpython→ParaView
  • 34tools
  • PyPIpip install
  • VTKpipeline
★
A field guide to working with models

LLM Queries

A living knowledge base of prompts, agent workflows ("skills"), evaluations and local-model setup guides, around 66 documents. Each one is tracked in a registry that says when it is due for re-checking, because advice about models goes stale fast. It also holds an experimental benchmark for coding agents.

  • Prompting
  • Agents
  • Evals
  • Local models
★
Speech recognition, offline

OpenCaption

A command-line tool in Go, built on whisper.cpp, that turns audio and video into SRT, VTT or JSON captions on your own machine. It runs on the GPU through CUDA, Metal or Vulkan, skips silence with voice-activity detection, and works through whole folders in batch mode.

  • Go
  • whisper.cpp
  • GPU
  • Subtitles

AI is also how I build now. GitHub Copilot coding agents made about 925 of the 2,162 commits in the Standard of Iron engine, and about 245 of the 617 in the Lightpad editor.

See the engine

The largest build · C++20 · Qt 6 · OpenGL

A C++ game engine, from scratch

Not a game made in someone else's engine: the renderer, the simulation, the animation, the UI and the tooling are all written from scratch, and they ship together as a real-time strategy game.

Standard of Iron

A single-player real-time strategy game set in an altered Second Punic War. You command formations from above, or take direct control of a commander on the battlefield, while running a settlement economy and assaulting fortified positions. An eight-mission campaign runs from the crossing of the Rhône to Zama.

  • 460klines of C++/QML
  • 2,100+commits
  • 8languages
  • 3platforms

Built with agents: about 925 of its 2,162 commits came from GitHub Copilot coding agents.

  • RendererA custom multi-tier OpenGL renderer (3.3 core, with a CPU fallback) and its own humanoid, terrain and settlement pipelines.
  • SimulationAn entity-component core, kept apart from presentation: the same systems run the live game, a windowless simulation and the balance tools.
  • ReplayCommand recording and deterministic replay verification, also headless.
  • ArmiesInfantry, archers, cavalry, healers, builders, siege engines and elephants, in authored formations, shield walls and wedges.
  • ToolsA map editor and developer scenarios; Qt and QML only for the interface.
  • ShippingLinux, macOS and Windows builds, saves with versioned migrations, and translations into eight languages.

Teaching · in English and Polish

Free programming courses I wrote

Courses and long-form guides, all free. Most can be read right here on the site, chapter by chapter; every one is open on GitHub, where corrections are welcome.

Algorithms and Data Structures cover: a tree drawn from data points
Interactive course · EN

Algorithms & Data Structures

76 classic interview problems, each walked through step by step in Python, on top of a repository of 100+ implementations in C++ and Python. My most-starred project.

Kurs Podstaw Pythona: a Python editor with plots
Interactive course · PL

Kurs Podstaw Pythona

A Python course for complete beginners, in Polish: syntax, functions, data structures and practical use, with 309 exercises you can run in the browser.

Systems & Linux 5 guides

  • Linux NotesEN49 pages★ 114

    The command line, processes, files, networking, services and administration, in order.

  • Linux System ProgrammingENC★ 8

    Notes and runnable C examples on system calls, processes, signals, memory and IPC.

  • Parallel & Concurrent ProgrammingEN9 pages★ 21

    Processes and threads, synchronisation, and the classic concurrency problems, with C++ and Python code.

  • Cybersecurity NotesEN★ 14

    Security fundamentals for learners and practitioners.

  • Git NotesEN17 pages★ 6

    Git commands and concepts, organised by task, as a reference.

Backend, data & web 4 guides

  • Backend Engineer's GuideEN67 pages★ 112

    API design, databases, deployment, distributed systems and more, organised by topic.

  • Databases NotesEN72 pages★ 30

    Transactions, indexes, isolation levels, replication and data warehousing.

  • Frontend NotesEN13 pages★ 56

    HTML, CSS and JavaScript, and the lessons learned along the way.

  • Way of DevOpsEN★

    A roadmap through the skills, tools and practices of DevOps.

Maths, science & graphics 8 guides

  • Numerical MethodsEN44 pages★ 21

    Root finding, interpolation, integration, ODEs and linear algebra, derived and implemented in Python.

  • Statistics NotesEN80 pages★ 8

    Essential statistics, explained with code.

  • CFD ResourcesEN★ 58

    Open-source notes, scripts and tutorials for computational fluid dynamics, in one place.

  • OpenFOAM TutorialsEN★ 6

    Setting up OpenFOAM and running cases, step by step.

  • VTK ExamplesEN9 pages★ 68

    3D graphics and scientific visualisation with VTK in Python.

  • OpenGL with Qt 6ENC++★

    Ten independent projects teaching modern desktop OpenGL, from one indexed quad upwards.

  • PyTorch ExamplesEN★

    Tensors and autograd, explicit training loops, then image and sequence models and attention.

  • NumPy TutorialsEN9 pages★ 3

    Arrays, broadcasting and vectorised computing.

Po polsku · in Polish 4 courses

  • Kurs Podstaw PythonaPL309 tasks★ 16

    Python from zero, in four sections, with exercises that run in the browser.

  • Nauka ProgramowaniaPL★ 3

    Graded exercises for learning to program, from first steps upwards.

  • Od C do C++PL25 pages★ 3

    From C to C++: the code from my YouTube series, with notes.

  • Proste ProjektyPL★ 7

    Project ideas for beginners, with guidelines and worked examples.

Utilities · desktop & terminal

Developer tools

Programs I wrote to scratch an itch, rated by how often they are worth reaching for. For the interactive tools that run in your browser, see the Tools page.

Everyday Great for one job Niche
A Bash script open in Vim, checking for and installing its dependencies
Shell★ 381

Bash Scripts

118 scripts for everyday file, system and network chores, each small enough to read before you run it.

EverydayAnyone on Linux who would rather copy a tested script than write one at midnight.
Lightpad editing C++ with a file tree, an output panel and a minimap
C++ · Qt 6★ 17

Lightpad

A code editor with language servers, a debugger, Git, a terminal, split views, multiple cursors and a database workbench for SQLite, Postgres, MySQL and SQL Server.

Great for one jobA fast native editor when an Electron one feels heavy. A hobby-scale project, not a VS Code replacement.
FullScreen Pencil Draw: two labelled boxes being connected on a dark full-screen canvas, with tool and layer panels
C++ · Qt 6★ 1

FullScreen Pencil Draw

A full-screen canvas for sketching while you explain: vector and raster layers, LaTeX typeset with KaTeX, and Mermaid diagrams.

Great for one jobWhiteboarding a lesson, a screen recording or a design discussion.
A Type Simulator reel: Python typed into Vim with human-like timing, under the title 'Hacking the mainframe in 30 seconds'
Python★ 1

Type Simulator

Types text into any editor with human-like timing, typos and pauses, from profiles and macros. Version 2.2 can also render vertical coding videos.

Great for one jobRecording coding demos and tutorials without a single typo.
The Testio logo
Python★ 6

Testio

Runs programs in any language against input and expected-output suites, in parallel, and reports as JSON, JUnit or TAP, with a web interface for grading.

Great for one jobTeachers grading homework and exams; anyone testing a CLI by its output.
A slide generated from Markdown: 'Packing Tips' as a themed bullet list
Python★ 7

Markdown Image Generator

Turns a Markdown document into a series of themed slide or carousel images.

Great for one jobCarousel posts and quick slides from notes you already have.
★ 153

Qt Widgets

60 example programs, in C++ and PyQt, from models and views to graphics, networking and threads. A reference to copy from.

★

GuardRM

A safety net around rm: protected paths and patterns, warnings, a dry run and a log.

★ 2

USB Cleaner

One Bash script that wipes a USB drive with zero, random or multi-pass patterns, then verifies it.

★ 1

E-Goat

Peer-to-peer chat and file transfer in Go, falling back from WebRTC to WebSocket to polling, in a single binary.

Play · browser, desktop & terminal

Games to play

Smaller games than the engine above: some you can play on this site right now, some for the terminal or the desktop.

Play here, in your browser

Outclick the Oracle: a small neural network drawn as nodes and weights, above three symbols to click

Outclick the Oracle

A 107-weight neural network learns your clicking habits live, in the browser. Stay unpredictable for 30 moves.

Flight of the Wisp: a moonlit forest with a 'Ready to fly?' start card

Flight of the Wisp

A flappy-style flight through a moonlit forest: glide between ancient gates and collect their light.

Aether City: a 3D night-time city of lit towers

Aether City

A 3D city of towers and highways. Move the sun from sunrise to night and let the camera circle the skyline.

The Gloamroot Colony: ants leave the nest and follow glowing pheromone trails to food

The Gloamroot Colony

Ants that find food by pheromone trails alone. Tune the colony, then reveal the trails it lays.

Also on the site: Tetris · Snake · Cyrillic Quest · Der Die Das

Desktop & terminal

Asciiquest: a dungeon drawn in characters, with a log and health bars
C++17 · ncurses★

Asciiquest

A terminal roguelike: generated dungeons, enemies that hunt you with A*, spells and traps.

Jubilant Rifle: soldiers on floating platforms over a misty background
C99 · SDL2★

Jubilant Rifle

A 2D platform shooter with grenades, ladders, enemies who parachute in, and maps in JSON.

Tiny RPG: a low-poly hero built in Blender, standing in a Godot scene
Godot 4 · Blender★

Tiny RPG

A small third-person prototype: a low-poly hero modelled in Blender, on an island in Godot 4. Playable in the browser.

Pong Curses: a terminal menu offering two players or the computer at three levels
C · ncurses★

Pong, twice

Pong in the terminal, and 3D Pong in VTK, each against a computer opponent at three levels.

These are the highlights. Everything else is on GitHub.