Skip to content

Software engineer & Linux systems administrator · since 2009

I engineer software, and run the systems it depends on.

I'm Mahfuz Shaikh. For more than seventeen years I've built software professionally and administered the Linux servers and infrastructure it runs on — designing applications, automating deployments, keeping production healthy. Today I also build products of my own, from a content management system to terminal tools and software for the Linux desktop.

Shipping software since
2009
Years in the industry
17+
Products in the workshop
9
Client platforms engineered
2
Ruby on Rails 8 Inertia Vue 3 TypeScript SQLite Tailwind CSS Kamal MCP Rust OAuth 2.0 with PKCE cargo-dist rustls ratatui tokio-postgres mysql_async rusqlite reedline GPUI systemd eBPF Linux Qt 6 QML cxx-qt Quickshell SDDM polkit Arch Linux gpui libghostty-vt Zig WebAssembly Noise protocol macOS Wayland X11 iroh QUIC X3DH Double Ratchet Flutter Go SvelteKit Svelte 5 Tailwind CSS 4 LiveKit WebRTC OIDC Docker Dokploy Dux Shell Hyprland D-Bus BlueZ C

Selected work

Things I’m proud to have built

All 9 projects
Illustration for Nibble
Building

Nibble

Content management system · 2026

A schema-driven CMS you install as your own Rails application — your theme, your content, your server.

  • Ruby on Rails 8
  • Inertia
  • Vue 3
  • TypeScript
  • SQLite
  • Tailwind CSS
Illustration for Quarry
Shipped

Quarry

Database client · TUI · 2026

A fast SQL client and full-screen TUI for PostgreSQL, MySQL, MariaDB and SQLite — one binary, the same keys everywhere.

  • Rust
  • ratatui
  • tokio-postgres
  • mysql_async
Illustration for Sysman
Building

Sysman

System monitor · Linux · 2026

A system monitor for Linux that remembers — a crash-proof collector daemon and a native app to explore what happened.

  • Rust
  • GPUI
  • SQLite
  • systemd
Illustration for Darwan
Shipped

Darwan

Desktop app · Linux · 2026

One app to choose, configure, preview and apply themes to both of your gates — the login screen and the lock screen.

  • Rust
  • Qt 6
  • QML
  • cxx-qt
  • Quickshell
  • SDDM

The workshop

What’s on the bench

Everything I’m working on, out in the open — what’s in progress, what has shipped, and the ideas I’m testing.

How I work

Principles, after 17 years of shipping

  1. 01

    Own the whole path

    From the first line of code to the server it runs on, the backups behind it and the alert at 3am. I build like someone who will have to operate it — because I usually do.

  2. 02

    Fewer moving parts

    Every component is something to patch, monitor and pay for. I choose proven, understood technology and spend complexity only where people can feel the difference.

  3. 03

    Fail safe, not silent

    Systems should refuse loudly rather than continue wrongly — a deploy that stops before it breaks production, a value shown as unknown rather than a misleading zero.

  4. 04

    Ship small, ship often

    Small releases are easy to verify and easy to undo. A changelog written for the person running the system, not the person reading the diff.

Writing

Notes from the workshop

Everything I’ve written

Engineering

Seventeen years on both sides of the line

Most organisations separate the people who build software from the people who run it. I have spent my career doing both. Here is what that taught me about designing systems that survive contact with production.

Read

Security

Letting AI agents near production, carefully

AI agents are becoming colleagues with keyboards. After years of managing who can do what on servers, I've applied the same principles to them — least privilege, explicit actors, approvals and honest boundaries — across four tools I build.

Read

Rust

Native Linux apps in Rust with GPUI

Building Sysman's desktop app on GPUI, the GPU-accelerated framework behind the Zed editor — why I chose it, the charts I had to write myself, and what it takes to ship a native Linux binary that installs cleanly everywhere.

Read