Skip to content

About

Software engineer. Systems administrator. Both, for seventeen years.

I build software and I run the infrastructure it lives on. Since 2009 I've done both professionally — and Linux has been my operating system for as long as I've been using computers at all.

mah3uz

Linux systems & software engineer · since 2009

Years
17+
Products
9
On Linux
Always

I’m Mahfuz Shaikh, known online as mah3uz. For more than seventeen years I have worked on both sides of the line that many organisations draw between building software and running it. I write applications, and I administer the Linux servers and infrastructure they depend on — provisioning machines, managing configuration, automating deployments, securing and patching systems, and keeping production healthy long after launch day.

I started out in 2009 as a freelancer on oDesk, now Upwork, and spent five years there taking on development and server work for clients I knew only through the platform. That is where I learned that the job isn’t finished until the client can understand what was done and the next person can maintain it.

Linux has been my operating system since I first started using computers. That shaped how I work: I would rather understand the whole system than one layer of it, and I am most at home in a terminal, reading logs and source code until the behaviour makes sense.

What that combination is good for

The most expensive problems I have solved lived in the gap between application and infrastructure: the slow page that was really a database configuration, the failed deploy that was really a full disk, the intermittent error that was really a DNS cache, the “random” restart that was really a memory limit. When the same person understands the code and the machine, those gaps close quickly — and, more importantly, the next system gets designed so they don’t open at all.

It also changes how I write software. I build things that are pleasant to operate: they fail loudly and safely, log what an on-call engineer needs, start and stop cleanly, back themselves up, and upgrade without drama. You can see that in the products I build today — a CMS whose upgrades refuse to run over modified files, a system monitor whose first rule is that the last reading before a crash is already on disk, a lock-screen manager designed so it can never lock you out.

What I do

  • Software engineering — web applications and APIs, back ends and front ends, command-line tools and desktop software; from architecture and data modelling to the last detail of the interface. Ruby and Rails, Rust, Python, TypeScript and Vue, and whatever a problem actually needs.
  • Linux systems administration — building and maintaining servers, users and permissions, services and their configuration, storage, networking and VPNs, monitoring and logging, security hardening, patching, backups and recovery.
  • DevOps and delivery — containerised applications, repeatable deployments, CI and release automation, staging environments that tell the truth, and production operations.
  • Self-hosting and homelab — an extensive homelab of my own: virtualisation on bare metal, private networking, and running the services a team depends on without handing them to someone else. It is where new infrastructure gets tried before it goes anywhere near a client.

How I work

I like small, frequent releases, written changelogs and runbooks, and automation that anyone on the team can run. I would rather spend an afternoon making a failure mode safe than a week hoping it doesn’t happen. I keep things simple on purpose, and I take security seriously by default rather than as a phase at the end.

Working together

Through my company, mah3uz – IT Consultancy, I take on a limited amount of client work alongside my own products — engineering, infrastructure, or the place where the two meet. If you have a platform that needs to be built carefully and run reliably, tell me about it.

Principles

What 17 years taught me to care about

  1. 01

    Build like you'll be paged for it

    Most of what goes wrong in production was decided at a desk months earlier. I design software with the operator in mind — clear failure modes, honest logs, safe defaults — because the operator is often me.

  2. 02

    Boring foundations, careful details

    Proven technology — Linux, PostgreSQL, SQLite, Rails, plain HTML — leaves room to spend effort where it shows. The craft is in the details people touch every day.

  3. 03

    Automate the second time

    Do it by hand once to understand it. Write it down the second time. Automate it the third. Deploys, backups and server builds should be repeatable by anyone, including future me at 3am.

  4. 04

    Refuse rather than corrupt

    A release script that checks everything before it does anything public. A daemon that stops on a configuration typo instead of silently disabling something. Loud and safe beats quiet and wrong.

  5. 05

    Security is a default, not a feature

    Least privilege, private sockets, signed releases, secrets kept out of logs and history. The secure path should be the path of least resistance.

  6. 06

    Write it down

    Changelogs for the people running the system, runbooks for the people fixing it, documentation for the people using it. Software nobody can operate isn't finished.

Timeline

17 years, one thread

The milestones I can point to. Most client work is private, so the public record starts later than the career does; where there is something to see, the milestone links to it.

  1. Day oneLinux

    Linux from the start

    Linux has been my operating system since I first sat down at a computer. It shaped everything that followed — a habit of reading the source, living in a terminal, and wanting to understand the whole system rather than one layer of it.

  2. 2009Freelance

    Freelancing on oDesk, now Upwork

    From 2009 to 2014 I worked as an independent contractor on oDesk (Upwork, as it became), on both sides from the start — building web applications for clients, and installing, configuring and maintaining the Linux servers they ran on. Five years of scoping, delivering and supporting work for clients I met only online taught me to communicate plainly and leave every system documented.

  3. 2013Open source

    A public footprint on GitHub

    My first public repository. Most professional work — for clients and employers — is private, so the public record from here on is a partial one.

  4. 2014Consultancy

    mah3uz – IT Consultancy

    After five years of freelancing I founded my own company, mah3uz – IT Consultancy, which I still run today — software engineering and systems work for clients, owning each project from the server to the front end.

  5. 2015Automation

    Agents that act on your behalf

    Working with Huginn, a self-hosted Ruby system for building agents that watch the web and act on events — an early taste of automation as infrastructure.

  6. 2016Employment

    System engineer at Jacos

    From 2016 to 2018 I worked as a system engineer for Jacos, a Japanese software company, on both sides of the work — developing its software, and building, deploying to and maintaining the servers it ran on.

  7. 2020Infrastructure

    Self-hosted private networking

    Working with WireGuard and Subspace, a web interface for managing VPN peers — private networking without a third-party service in the middle.

  8. 2020Client work

    TLC — a lending CRM and its broker API

    The start of a long engagement with TLC, an Australian lender of medical, dental and lifestyle payment plans — building its CRM in Laravel, designing the API partners use to submit loan applications, and running the servers underneath.

  9. 2025Infrastructure

    Bare metal, home servers and Matrix

    Proxmox VE on Hetzner dedicated servers, self-hosted Matrix with its sticker tooling, and umbrelOS for apps at home.

  10. 2026Client work

    TourHub — a marketplace for live-events crew

    Building TourHub in Ruby on Rails — verified crew profiles, contracts and payments secured through Stripe — and the staging and production environments it ships through.

  11. 2026Open source

    tide, redesigned, and AirPods on Hyprland

    A full redesign of tide, a self-hosted video meeting service, with an installable app and a screen-share popout; and a Dux Shell plugin that brings EarPort's AirPods support from GNOME to Hyprland.

  12. 2026Product

    rrussat

    A peer-to-peer, end-to-end encrypted messenger in Rust, with a terminal client and an app for Linux, macOS, Android and iOS, all on one shared core — an exercise in applied cryptography and honest engineering.

  13. 2026Product

    Nibble and Nibble CLI

    A schema-driven CMS you install as your own Rails application, and the Rust command-line tool that goes with it — 25 public releases in its first weeks.

  14. 2026Product

    Darwan

    A Rust and Qt theme manager for the Linux login and lock screens, built around safety — a lock that can't lock you out, a root helper that trusts nothing.

  15. 2026Product

    Quarry

    A SQL client that lives in the terminal, for PostgreSQL, MySQL, MariaDB and SQLite — the database tool I wanted for my own work, built to production standards.

  16. 2026Product

    Insensical

    A terminal multiplexer with a native window, built for running many coding agents at once — a daemon that owns every program, and a window that always shows which one needs you.

  17. 2026Product

    Sysman

    A crash-proof system monitor for Linux, whose first rule is that the last reading before a crash is already on disk.

  18. NowToday

    Still taking things apart

    Seventeen years in, the curiosity hasn't worn off. I'm still trying new languages, new hardware and new ways to run a server, mostly in the homelab first, and building the tools I wish existed. This site is one of them, on Nibble, deployed with Kamal to a server I run.

Contact

Let’s build something

Tell me what you’re working on. A product that needs a steady pair of hands, a question about one of my tools, or just a hello: it all lands in the same inbox.

Fields marked * are required.

What's it about?