Aymen Hafeez is a chemical engineer and a data science student at Imperial College London. Alongside his academic work, he actively contributes to open-source projects and builds tools that sit at the intersection of engineering, data, and developer experience.
His projects reflect a consistent theme: simplifying complex workflows and making technical concepts more accessible.
Some of his notable works include:
StravaTUI — a terminal user interface for viewing Strava running stats
animplotlib — a Python tool for creating data animations with minimal friction
strange-attractor-visualiser — an educational web app for exploring chaotic systems visually
Outside of programming, Aymen spends his time running, playing guitar, and exploring film photography. He also writes about engineering, mathematics, and Neovim on his personal blog, where he shares both technical insights and photography.
Aymen’s workflow is centered around Neovim and the terminal. His primary terminal emulator is Ghostty, chosen for its speed and native feel, along with support for splits and tabs.
He began using Vim roughly seven years ago, initially as a LaTeX editor during his undergraduate studies. Around 2021, he transitioned to Neovim, and his configuration has continued to evolve alongside his needs.
A defining characteristic of his setup is a preference for building rather than installing. When new functionality is needed, he typically attempts to implement it using Neovim’s built-in capabilities. Only when necessary does he rely on external plugins.
One of the most important parts of his workflow is Neovim’s built-in terminal integration. This allows him to create tight feedback loops:
Sending commands to compile LaTeX documents and refresh PDF previews
Running interactive sessions such as IPython
Executing code blocks directly from the editor, creating a notebook-like workflow
He has written in detail about this approach, including how it enables a lightweight alternative to Jupyter-style environments.
Aymen’s toolkit is minimal but highly optimized:
Neovim — his primary editor for nearly all text-based work
Ghostty — a terminal emulator with a native feel and strong performance
fzf — for fast fuzzy searching across files and history
fzf-lua — integrates fzf directly into Neovim
zoxide — an intelligent replacement for cd, improving navigation efficiency
Aymen keeps his configuration simple and practical. His dotfiles are publicly available, and his setup process reflects his philosophy of minimal overhead.
Rather than using complex installation scripts, he typically:
Clones the repository
Creates symlinks to the appropriate directories
Because he rarely switches machines, this approach has proven sufficient and avoids unnecessary complexity.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.