Expertise · Full stack
Full-stack engineering: from a Rust desktop agent to a Next.js portal
Full stack engineer and developer in Karachi, Pakistan, remote for US, UK and EU teams. Next.js and React front ends on NestJS, Go and Python back ends, shipped end to end.
Projects delivered
Web, ecommerce, CMS, ERP and AI platforms
Product components
Desktop agent, two web apps and the services behind them on TrackHRS
NestJS microservices
Independently deployable domain services
I am a full-stack engineer based in Karachi, Pakistan, working remotely with teams in the US, UK and Europe. Full stack, for me, means owning the whole path a piece of data takes: from the input on a user's screen, through the API and the queue, into the database, and back out as a number someone trusts. This page is about that path on the systems where I have owned all of it, and about the several hundred smaller deliveries that taught me what "done" means in ecommerce, CMS and ERP work.
Full stack means owning the whole path
The clearest example is TrackHRS, the time tracking and activity intelligence platform I founded. Its twelve product components span every layer: a native desktop agent in Rust on Tauri 2 that captures activity and buffers it in SQLite when the laptop is offline, an authenticated admin portal and a public marketing site in Next.js, eight NestJS microservices behind REST and gRPC boundaries, a Python classifier, an Express auto-update server, and the Kafka, Redis and MongoDB layer underneath.
The hard part was never the dashboard. It was the path between a keystroke and a manager's report: staying accurate when the network drops, fast when traffic spikes, and never double-counting because two replicas processed the same event. A full-stack engineer who only owns the front end cannot fix that. One who only owns the back end cannot tell whether the fix actually made the dashboard trustworthy.
Front end: Next.js, React and the desktop
My front-end work is React and Next.js with TypeScript, Tailwind CSS for styling and Redux Toolkit where client state gets genuinely complicated. This site is built on Next.js 16 with React Server Components, the metadata API and MDX content, which is also how I build marketing sites and portals for clients: server-rendered by default, fast, accessible and easy to index.
On TrackHRS the admin portal and the marketing site are both Next.js. On AgentX, the multi-agent platform that generates full-stack applications from natural language, I built the Figma-to-code integration that turns design files into component trees, which is a front-end problem with an unusual amount of back end behind it.
Desktop is part of the stack too. Tauri 2 with Rust gives native-level performance and system-level access that browser-only approaches cannot reach, with a React shell for the interface. The Next.js developer page covers the web side in more depth.
The back end decides whether the front end is fast
Most performance problems a user sees on the screen were caused three layers down. On the FinTech platform Hysab Kytab, aggregated financial views are read far more often than they change, so a Redis cache-first strategy cut average read latency by more than 60 percent and the customer app felt fast without a line of front-end optimisation. On TrackHRS, batching writes into 100-item or five-second windows gives up to 100 times fewer immediate database writes on the hot path, and a cache invalidation event keeps dashboards fresh without a short TTL.
Full-stack engineering is knowing which layer a symptom belongs to. A slow page is sometimes a rendering problem, but it is more often a query, a missing index, a synchronous call that should have been a queue, or a cache that is invalidating too eagerly. The backend engineer page goes into those mechanisms in detail.
Ecommerce, CMS and ERP delivery at volume
Before and alongside the platform work, I have delivered more than five hundred client projects across ecommerce, content management and ERP integration: high-traffic storefronts, checkout and payment integration, order, inventory and fulfilment flows, headless CMS builds, admin systems, and the third-party integrations that hold a business together. The stacks have ranged from Next.js and NestJS to Laravel and plain REST integrations, depending on what the client already ran.
That volume teaches things a single large system does not. It teaches how a storefront behaves on a sale day, what an ERP sync does when the accounting system is down, and how many ways a payment webhook can arrive twice. It is also why I default to boring, well-understood patterns for the parts of a product that are not the differentiator.
Shipping a SaaS end to end
Founding TrackHRS meant owning the parts of a product that architecture diagrams leave out. Subscription and billing as a domain service. An admin portal that operations staff actually use. A marketing site with lead capture. An update server so the desktop agent can ship fixes without asking users to reinstall. Docker and Kubernetes so a release is a pipeline run rather than an evening, which cut deployment effort by roughly 70 percent. Jenkins and GitHub Actions for CI.
Full stack, at its widest, includes the deployment pipeline and the billing page. If you are building an MVP, that is the version of full stack you want, because the demo is the easy part and production is where the product lives.
The stack in one place
Front end: React, Next.js, TypeScript, Tailwind CSS, Redux Toolkit. Desktop: Rust with Tauri 2, SQLite for offline buffering. Back end: NestJS and Node.js, Golang, Python with FastAPI, Spring Boot, PHP with Laravel. Data: PostgreSQL, MongoDB, MySQL, Redis. Infrastructure: Docker, Kubernetes, GCP, AWS, Nginx, Jenkins, GitHub Actions. The about page has the full toolkit, and the expertise hub has how I work remotely from Karachi with teams in the US and UK.