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
Software engineer & Linux systems administrator · since 2009
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.
Available for select projects
17+ years · 11 projects
Selected work
Content management system · 2026
A schema-driven CMS you install as your own Rails application — your theme, your content, your server.
Database client · TUI · 2026
A fast SQL client and full-screen TUI for PostgreSQL, MySQL, MariaDB and SQLite — one binary, the same keys everywhere.
System monitor · Linux · 2026
A system monitor for Linux that remembers — a crash-proof collector daemon and a native app to explore what happened.
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.
Client work
Alongside my own products, I engineer platforms for clients — production systems that real businesses run on every day.
All client workThe workshop
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
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.
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.
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.
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
Engineering
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
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
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