Turning complex e-commerce problems into simple solutions.
Most of what I build starts the same way: a merchant needs something their theme doesn't do, and the only "solution" on offer is a $15/month app that loads 200KB of JavaScript to render a button. I'd rather write the button.
So this profile is mostly Shopify Liquid β storefront features small enough to read in one sitting and configurable enough that nobody has to touch code to change a phone number. Alongside that, some Next.js work, and a handful of scrapers and CSV tools from the unglamorous side of running a store.
A huge share of stores across South Asia, the Middle East, Latin America and Africa take orders over WhatsApp rather than through checkout. These two make that a first-class path instead of a workaround.
| cart-to-chat | An Order on WhatsApp button under Add to cart. Opens the chat pre-filled with the product and the exact variant the customer picked β so you never have to ask "which size?". Can be set to appear only when a product is sold out, turning a dead product page into a conversation. |
| chat-orb | A floating WhatsApp button that follows customers across the store. An Online Store 2.0 section β colors, size, corner and mobile offsets all live in the theme editor. Zero JavaScript. |
| Dawn-Echop | A development store on Dawn v12, used to push the stock theme somewhere new. |
| sale-price-timer-shopify Β· Countdown-timer | Urgency timers with full schema, so they're editable from the customizer. |
| Stock-Indecator-SHOPIFY- | Low-stock indicator for product pages. |
| Judge.me-All-Reviews-Page Β· Judge.me-CSV- | A dedicated all-reviews page, and bulk review import by CSV. |
| Shopify-Dynamic-Button-text-change. | Changing the dynamic checkout button's text β every way that actually works. |
| Starway-Theme | A theme wired up end-to-end with Shopify. |
Recent production work β Next.js 16 (App Router), Tailwind v4, TypeScript, deployed on Vercel.
| Central-College-Multan | The official site for a not-for-profit college running since 1992, teaching Intermediate through Masters and Law. |
| eLibrary Management System | A single-admin tool for a real physical library β catalogue, student records, circulation, fines, reservations and reports. Next.js 16 + Supabase. |
| Clutch.co Β· CLucth.co-Data-Scrapper-in-JS. | Lead scraping from Clutch β one in Python, one that runs in the browser console and downloads a CSV. |
| Remote-CSS | For when the client hasn't paid the advance. Read the README. π |
| Windows-11 | A Windows 11 clone in React, because why not. |
| Github-User-Finder Β· NotePad Β· Password-Generator | Small browser tools, built to stay small. |
- No external requests. Icons are inline SVG, not hotlinked from someone else's CDN β so nothing breaks when a stranger deletes a file.
- Configurable without touching code. If a merchant has to edit Liquid to change a phone number, I got it wrong.
- Accessible by default. Real focus states,
aria-labels, andprefers-reduced-motionrespected. - No app tax. If it can be a snippet, it shouldn't be a subscription.
Open an issue on any repo above.