Back

All Projects

A collection of things I've built.

UniBot

A current-only RAG system for Information Technology University. It crawls university pages and documents, extracts and verifies them, resolves disagreements between sources by authority, and serves grounded answers with citations over a streaming API. Freshness is enforced in the pipeline rather than assumed, so stale content gets caught instead of quietly answered from. Built with Python and FastAPI, with Neon PostgreSQL and Qdrant behind hybrid retrieval and reranking, and a React client on top.

Python·FastAPI·RAG·Qdrant·PostgreSQL·React

Raah

A multi-modal journey planner for everyday transit riders in Lahore, covering Orange Line, Metro Bus, Speedo Bus, and E-Bus. Plan a route and compare options by time, transfers, walking, or fare, check departures from nearby stops, and follow a trip with transfer-aware guidance that tells you the next thing to do rather than the whole itinerary at once. Flutter on the front, with a FastAPI backend on PostgreSQL and Google Maps APIs for geocoding, places, and routing. It labels schedule-based data as schedule-based instead of dressing it up as live tracking.

Flutter·Dart·Python·FastAPI·PostgreSQL·Google Maps

Winnow

A branded multi-step form feeds applications and CV PDFs into Supabase, an LLM batch scores each one against a locked rubric, and the ranked result lands in a Google Sheet where a person makes the final call. The machine does the sorting; someone still decides. It currently runs the FYP intake for CACTUS Lab at ITU. The browser never touches the database directly — every write goes through an Edge Function that verifies Turnstile, re-validates the payload, checks the PDF is actually a PDF, and rate limits. Applications are insert-only, screening spend is hard-capped, and anything uncertain fails closed rather than guessing.

TypeScript·React·Supabase·PostgreSQL·LLM·Cloudflare

User-Level DSM

A user-space DSM implementation for multi-threaded parallel programs running across a cluster. Uses mmap, mprotect, and SIGSEGV signal handling to provide the illusion of a single shared address space. Features page-based coherence with Single-Writer/Multiple-Reader consistency, distributed locks and barriers, and TCP-based page migration. Includes a visual Game of Life demo.

C·Systems Programming·POSIX·TCP/IP·Distributed Systems

CampusRecords

Answers natural-language questions and runs grounded analytics over governed institutional records in PostgreSQL. Approved spreadsheets and CSVs are loaded into governed query surfaces; the runtime resolves entities, plans the SQL, validates every statement, executes through a read-only database role, and returns the answer next to the SQL and rows that produced it. Deliberately not document RAG — the whole point is that you can audit the answer. Python and FastAPI with a React frontend.

Python·FastAPI·PostgreSQL·NL to SQL·React

Sizzle

A food delivery app built around a TikTok-style feed of dish videos rather than a text menu. Search by voice or text backed by structured LLM extraction, a single-restaurant cart, two-tap checkout, and live courier tracking on a real map. Customer and restaurant-owner roles are separate, with a kitchen status machine on the owner side. Flutter with Riverpod and GoRouter, on Firebase for auth, data, storage, functions, and messaging.

Flutter·Dart·Firebase·Riverpod·Google Maps

COSMOS

An integrated AI assistant platform featuring a RAG chatbot, YouTube processor, and Gmail agent. Built with React, FastAPI, and Python. Leverages LangChain for orchestration and Pinecone for vector storage.

Python·React·FastAPI·LangChain·Pinecone

PMWiki

A production-ready RAG system enabling semantic search, side-by-side comparisons, and tailored process generation across three PM standards. Features topic network visualization with K-means clustering, streaming LLM responses via SSE, and academic-grade citations. Built with React, FastAPI, PostgreSQL with pgvector, and Qdrant for vector search.

TypeScript·React·Python·FastAPI·PostgreSQL·Qdrant·RAG

vOCR

A mobile-first web app for pulling text out of images and PDFs using DeepSeek OCR. Batch processing with progress tracking, rendered markdown output, ZIP export of results, and email authentication. API keys are encrypted client-side before storage, so the server never sees them in the clear. Next.js 16 with React 19, shadcn/ui and Tailwind CSS 4, and Better Auth on Supabase.

TypeScript·Next.js·React·Supabase·OCR

AuTisTick

Intelligent task management with natural language processing and TickTick integration. Built with Flutter and a Python backend. Features Material Design 3 UI and Supabase for real-time data sync.

Flutter·Dart·Python·FastAPI·Supabase

GCRTT Automator

An intelligent automation system that transforms Google Classroom assignments into structured TickTick tasks using AI. Integrates with Google APIs for seamless classroom data extraction and intelligent task categorization.

Python·FastAPI·Google APIs·AI/ML·Automation

A graveyard of my

Side Projects

Experiments and niche tools I built for my own use cases. Fully functional, just oddly specific.

Pass-Query

Fast fuzzy password search for Proton Pass CLI. Uses fzf for interactive selection, caches vault listings for speed, and auto-copies credentials to clipboard.

Rust·CLI·fzf

TickTick Linux Widget

A modern desktop widget for Linux that displays TickTick tasks on your desktop. Features multiple themes, timezone-aware grouping, and interactive task completion.

Python·PyQt6·Linux

SpotYTM

Desktop app that transfers playlists from Spotify to YouTube Music. Modern PyQt6 interface with Flask backend, OAuth authentication, and batch track matching.

Python·PyQt6·Flask·Spotify API

ReDexter

GUI for decrypting rclone encrypted files. Supports drag and drop, multiple themes, rclone config import with automatic credential deobfuscation.

Python·PyQt6·Cryptography

Kick ChatBot

A chatbot for Kick.com that monitors multiple channels and responds to commands. Uses Puppeteer for browser automation with TypeScript.

TypeScript·Puppeteer·WebSockets

Flux Shuffle

True random music shuffle for Spotify. Uses Fisher-Yates algorithm to guarantee you hear every song before repeats. Tracks listening history across sessions.

React Native·TypeScript·Expo·Spotify API

Image to Calendar

Intuitive CLI that converts timetable images into Google Calendar events. Dual-mode: OCR+LLM pipeline or direct VLM extraction. Features fast mode, course filtering, and Rich terminal UI.

Python·Click·Rich·VLM·Google Calendar API