Skip to content

--:--:-- PKT

Subhan Qureshi

I build agentic systems, and measure whether they work.

Scroll

02 — Selected work

Work

Cover
01Final Year Project — Group Leader2026

The AI Dietician

A cloud-native multi-agent meal planning platform for patients managing diet-responsive conditions and for athletes, built around South Asian food.

  • 4 · Agents in pipeline
  • 3 · Client surfaces
  • 2 · Retrieval stages
  • 2 · Backing data stores

Client surfaces

  • Web application

    Next.js + TypeScript

  • Mobile application

    Expo React Native — iOS and Android

  • Agent API

    FastAPI

Stack

Agents
LangGraph · Groq / Llama 3.1 8B · RunPod vLLM
Backend
Python 3.13 · FastAPI · SQLAlchemy async
Retrieval
Pinecone · bge-large-en-v1.5 · cross-encoder reranker
Data
Neon Postgres
Vision
Gemini Vision — food photo recognition
Web
Next.js · TypeScript · Tailwind CSS
Mobile
Expo · React Native
Agents in pipeline
4
Client surfaces
3
Retrieval stages
2
Backing data stores
2
Safety refusal classes
5
SQA test cases
30
Defects catalogued
15
Cover
03Client work — education2025

Community Academic Counselling Consultant

A counselling consultancy site on a custom domain, with built-in enquiry capture and a private inbox.

  • Next.js
  • React
  • Tailwind CSS
  • Route handlers
  • server-side persistence
  • Vercel
  • custom domain

03 — Now

Currently

Last updated 06 AUG 2026

04 — Approach

Approach

Measure before you claim

Almost every AI project works when you try it once. The interesting question is the success rate across a set of inputs you did not choose. I build the evaluation harness before I trust the demo.

Models judge, code calculates

In the AI Dietician the model never computes a nutrition number. It selects food IDs and gram amounts, and a deterministic Python solver does every arithmetic operation. A model that is 97% accurate at multiplication is 100% unacceptable when the number is a diabetic patient’s carbohydrate load.

Build it before using the tool that does it for you

I write the thing by hand once — the retrieval loop, the agent loop, the retry logic — before reaching for the framework. It is slower exactly once, and it means I can debug when the abstraction leaks.

Ship to people who are not you

An NGO coordinator and a news editor update their own sites daily without opening a terminal. Software that only its author can operate is a prototype, whatever it looks like.

07 — Experience

Experience

Sui Southern Gas Company LimitedAugust 2026 — October 2026Head Office, Karachi

Student Intern — Information Technology

Eight-week internship in the IT department of one of Pakistan’s largest gas utilities.

  • Working within the Information Technology function at Head Office under the 2026–2027 internship programme.
  • Exposure to enterprise systems operating at national utility scale, where availability and change control matter more than novelty.
IndependentJanuary 2024 — PresentRemote

Full-Stack Developer — Freelance

Production web applications for organisations that are not software companies.

  • Delivered four production sites for real clients, including an NGO, an academic counselling consultancy, and a daily news publication.
  • Built content workflows around Sanity so non-technical staff publish without a developer.
  • Handled the full path: requirements, build, deployment, custom domains, and handover.
  • Next.js
  • TypeScript
  • Sanity
  • Tailwind CSS
  • Vercel
PayfastAugust 2024 — October 2024Karachi, Pakistan

Software Engineering Intern

Authentication and access control on a live back-office portal.

  • Implemented JWT authentication on a production back-office portal.
  • Built role-based access control governing internal operations tooling.
  • JWT
  • RBAC
  • REST

Education

Sir Syed University of Engineering and Technology

BS Computer Engineering · Karachi, Pakistan

20222027 · Batch 2022F

08 — Ask

Ask

An assistant trained on my work. It answers in my voice and tells you when it doesn't know.

Ask — live

Ask about the work, the stack, availability, or how to get in touch — or start with one of these: