Skip to content
View mehboobali98's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report mehboobali98

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mehboobali98/README.md
Backend Engineer. Ruby on Rails, 5+ years. AI-assisted engineering with Claude Code and Cursor. Lines fan out to MySQL, AWS, React and TypeScript.

Mehboob Ali

Senior Backend Engineer (Ruby on Rails)  ·  Principal Software Engineer at 7Vals  ·  Lahore, Pakistan  ·  mehboob.dev

Five years at 7Vals on Rails backends and IT-asset systems. I led the CMDB build and I run our workflow automation program now. The tooling side got interesting along the way: a Redmine CLI, and Claude Code skills built on it that estimate work against the real codebase. I've also reviewed pull requests from 40+ engineers and interviewed about 100 candidates since 2022.

Ruby Rails Go MySQL React TypeScript

Open source

  • rmine  Go
    Redmine from a terminal, built for two callers from the start: me, and a coding agent. Structured output, profiles, time logging, an embedded Claude Code skill, tagged releases. My team at EZO uses it with rmine-skills.
  • rmine-skills  Python
    Six workflows on top of rmine. /estimate refuses to price a spec it can't read, grounds each line item in the real codebase, then hands the result to a validator that never sees how it was derived. It prices agent-driven work by default: the time to describe, review and check what an agent writes. /calibrate checks the whole rubric against hours actually logged.
  • clip-studio  JavaScript
    Short videos from code, as a Claude Code skill. Every frame is a pure function of time, captured with Playwright and encoded with ffmpeg; two templates, a launch-style product demo and a motion-graphics clip. I use it for my own LinkedIn and portfolio videos.
  • bitwise_attributes  Ruby
    Packs boolean flag attributes into a single ActiveRecord integer column, with generated scopes, validations and inheritance behavior. An internal pattern I used for two years before publishing it.
  • whatsapp-status-translator  JavaScript
    One-click translate for WhatsApp Web Status captions, the one surface WhatsApp's own translate feature leaves out. A Manifest V3 worker over a DOM I don't control and can't rely on.

What I've shipped at work

Closed source, so here is what they were and what they had to solve.

The sync job that took half a day  ·  Rails Delayed Job MySQL

A device sync was taking 12 to 15 hours to run, so new hardware wouldn't show up for most of a working day. N+1 queries and no batching, on a table that had been collecting devices for years. Rebuilt around batched writes: under an hour now, and the MDM integrations added since reuse the same pattern.

Automation that could branch  ·  Rails React Flow ITSM

Automation used to be one trigger paired with one sub-trigger. Fine for a one-step rule, out of room past that. It's a node canvas now: actions chain, each branches on success or failure, and every run writes a step-by-step log, so a rule that misfires can be read instead of guessed at. Led technical delivery with a team of about eight engineers, and built the HTTP request node, webhook triggers and branching myself. It's the program I still run. Documented by EZO ↗

A CMDB that actually models relationships  ·  Rails MySQL Graph modeling

Most CMDBs are static. An asset points at a user, maybe a location, and anything past that takes a support ticket. This one answers everything touching this server, three hops out: a data model with n-level traversal plus the ITSM-integrated UI on top. About seven months from architecture to production, leading a five-person team. I wrote the design RFCs and built the new module's backend. Documented by EZO ↗

Telling devices apart when the serial is wrong  ·  Rails MySQL

Asset records were keyed on the BIOS serial, and some devices report a junk one, so a single laptop could turn into several assets or two machines could merge into one. I built matching that spots invalid serials, falls back to the MAC address, and lets each company keep its own list of serials not to trust.

Four titles in five years, and what stayed behind after each one: mehboob.dev/#trajectory.

Writing

More at mehboob.dev/blog  ·  RSS

Elsewhere

mehboob.dev  ·  LinkedIn  ·  mehboob@mehboob.dev

Earlier work, before Rails: Python, Java, Android, Spring. Mostly in the 2021 repos below.

Pinned Loading

  1. Inventory-Management-System-Spring-Boot Inventory-Management-System-Spring-Boot Public

    The Web-based application would be used for lending, issuance, and returning of different items. The details of these transactions would be stored in the database. Moreover, details regarding diffe…

    CSS 44 34

  2. bitwise_attributes bitwise_attributes Public

    Bitwise flag attributes for ActiveRecord models.

    Ruby 4

  3. rmine rmine Public

    Redmine CLI in Go, built for two callers: a developer at a terminal and a coding agent. Ships an embedded Claude Code skill and machine-readable output.

    Go 2

  4. rmine-skills rmine-skills Public

    Claude Code workflow skills built on rmine. A spec-gated effort estimator that runs three subagents, plus a calibration skill that checks estimates against logged time.

    Python

  5. stafflow stafflow Public

    Multi-tenant HR management system built with Ruby on Rails: employees, org structure, leave workflows, benefits and payroll, isolated per company by subdomain.

    Ruby

  6. mehboob.dev mehboob.dev Public

    Personal site and writing. Astro, Tailwind v4, self-hosted fonts, no client-side framework.

    TypeScript