Skip to content

Senior and lead software engineer

Abdulkader Safi, software engineer in Kuwait and Australia

Senior and lead software engineer at dsrpt, from Lebanon, working across Kuwait and Australia. Enterprise platforms during the week, open source most weekends. This is where all of it lives.

Abdulkader Safi
packages published
5+
plugins and extensions
10+
projects shipped
50+
packages and plugins downloads
3600+

What I ship with

  • Laravel
  • .NET
  • Next.js
  • React Native
  • Appwrite
  • PostgreSQL

Selected work

Things I built and shipped

All projects
In Progress

MD Kanban

A kanban board where every card is a markdown file on your disk, built so you can watch what an AI coding agent is doing without asking it. Each connected folder is a project, each subfolder groups work, and each task is one `.md` file whose YAML frontmatter holds status, priority, assignee, due date and labels. Dragging a card between columns rewrites the file, and the agent edits the same files from its side. That is the whole design: Jira and Linear keep state behind an API, so an agent needs credentials and a connector before it can move a card, while a folder is something it can already write to. The repo ships the contract twice, as `AGENTS.md` for any agent and as a Claude skill, and tracks its own remaining build as task files inside itself. Vue 3, Vite, TypeScript and Tailwind v4 over the browser File System Access API, about 1,800 lines, MIT.

Tailwindcss · Javascript · Typescript
Completed

AI Writing Rules

A Claude Code plugin that stops Claude writing like an AI. It loads a 270-word ruleset into every session, then runs a checker after every file write that flags the tells by line number and refuses to let the model move on. The rules come from 29 documented patterns, each researched into its own file with a measurable threshold: burstiness under 0.4 where human prose sits at 0.6 to 1.2, more than 20 em dashes per 1,000 words where humans use 3.2 to 10, more than one polished three-item list per 200 words. The checker is 17 regex rules and 3 statistical ones in Python with no dependencies. Tested against a sample with 14 planted tells, it caught all 14, stayed silent on clean prose, and found a real tricolon in the research files themselves.

Python
Completed

Vouch

A hiring platform for Kuwait and the GCC, designed from a blank page around one promise: every job here is real, and every employer answers. 82 screens and 642 prototype links across a 15 page website at two breakpoints, an 18 screen mobile app, and 29 dashboard screens covering job seeker, employer and internal admin. The position comes from the data on ghost jobs rather than from features, and the whole system runs on four variable collections that switch theme and language.

Figma

Services

What I take on

All services

Writing

Things I wrote

All writing

Build diary

What changed this week

All devlogs

Free

Checklists I use on real work

All resources

Free, one email field, and I will tell you exactly what lands in your inbox.

Abdulkader Safi

About

Responsible for whether it ships. Code is the smaller part of that.

I am a senior and lead software engineer at dsrpt, an Australian company working out of Kuwait and Australia.

Outside that I ship open source: an audit engine on npm, two Obsidian plugins, a CSS library with no build step, and a training app I built because the subscription ones would not give me my data back.

Read the full story

WORK WITH ME

Got something that needs building, or something that has stopped moving?

Tell me what it is, roughly when you need it, and what you have already tried. I will tell you honestly whether I am the right person.

Start a project or safi.abdulkader@gmail.com

Replies within one business day.