About
I build complete web products — frontend, backend, and the AI features in between — for startups and product teams that need someone to own the whole thing.
I am a full-stack developer with five-plus years of production experience across SaaS, e-commerce, and AI tools. I studied at COMSATS University, spent time as a software engineer at Vaival Technologies working on Shopify apps that run on more than 100,000 merchant stores, and now work independently with remote teams in the US, UK, Canada, and Australia.
The thing I am actually good at is being the only engineer on something and still shipping it. CodexGenAI and HireOS are both products I designed, built, and deployed solo — including the parts most people would rather hand to someone else, like the PDF renderer, the Chrome extension, and the billing.
In practice, though, most of what clients hire me for is the opposite of a blank repo. The majority of my contract history is work on applications that already exist and are not behaving — a dashboard rendering blank in production, a marketplace carrying fixes nobody picked up, a codebase whose author stopped replying. Wavel and NuVisa were existing codebases I joined; VisaConnect and TranquiLove were rebuilds of live products. Reading someone else's architecture and deciding honestly what to keep is a different skill from starting clean, and it is the one I get asked for most.
I started where a lot of developers in Pakistan start: freelance marketplace work, competing on price, taking whatever came in. That teaches you speed and it teaches you to communicate, but it does not teach you how software behaves once real people depend on it.
That part came from the Shopify apps. Working on SalesPop and Cartly meant maintaining code running on tens of thousands of live storefronts, where a bad webhook handler sends a merchant duplicate emails and a heavy widget slows down someone's revenue. You stop thinking about features and start thinking about failure modes. Most of how I work now — idempotency by default, measure before optimizing, treat the client bundle as a budget — came out of that.
The AI work came next, and it turned out to reward the same instincts. The hard part of an LLM feature is never the prompt; it is what happens on malformed output, what the user stares at during the first eight seconds, and what the feature costs at a thousand users. That is ordinary engineering, applied to a new kind of unreliable dependency.
Founders and small product teams who need one person to own the whole thing — whether that means taking something from an empty repo to a live URL, or inheriting a codebase somebody else left behind and getting it working again. Either way, you would rather have a working deploy in week one than a specification document in week three.
I am less useful if you need a large team, a design-only engagement, or someone to maintain a legacy PHP or WordPress estate. I will tell you that on the first call rather than three weeks in.
I write here most weeks — mostly about security incidents, platform changes, and things I have had to debug. It keeps me current, and it is a reasonable way to judge how I think before you hire me. I also record occasional build walkthroughs on YouTube.
A 15-minute call is usually enough to tell whether I am the right person for it. If I am not, I will say so.