Projects

Small tools, zero dependencies.

Side projects built the same way I like production software: small, dependable, and private by design. Most are vanilla JS with no build step — nothing between you and the source.

Kharcha

Offline-first daily expense tracker — every rupee stays on your device in IndexedDB: no account, no server, no upload. Type sums straight into the amount field (850+120+75), browse day-grouped history with filters, get chart reports, duplicate-safe backup/restore, and CSV/Excel export. Installs as an app on Android, iOS and desktop.

ReactTypeScriptIndexedDBPWA

Seatwise

Exam-hall seating planner — no two students of the same section sit adjacent, not even diagonally. CSV in, printable colour-coded seat maps out, with room-wise and section-wise views. Started as a 2019 UET Lahore algorithms project, modernized in 2026.

Vanilla JSCSVPrint styles

JWT Decoder / Generator

Decode and generate JSON Web Tokens entirely in the browser — handles raw and base64-wrapped tokens, signs HS256 via the Web Crypto API. Fully offline: no build step, no dependencies, no network calls, so tokens never leave the page.

JavaScriptWeb CryptoOffline

OTP Authenticator

Client-side Google Authenticator replica — TOTP/HOTP codes computed in the browser with the Web Crypto API, secrets kept in an AES-GCM-encrypted vault that never leaves your device. Enroll by QR paste, upload, camera or screen scan, or import straight from Google Authenticator's transfer QR. Installable, works offline.

PWAWeb CryptoWebAssembly

Expense Ledger

Installable expense-tracker PWA with a Google Sheet as the database, wired up through Apps Script. Month, year, and all-time views with drill-down, offline shell via a service worker, and live sync status.

PWAVanilla JSGoogle Sheets

Runs against my personal ledger, so no public demo.