┃ -----------------
┃ ===-----------------==== ======
┃ ------------------------ ------=
┃ ----------------------------------------------*
┃ ---------====---------------------------------------=
┃ =---------===--------------------------------------------=
┃ =--------====-------------------------------------------------
┃ =--------===--------------------------------------------------
┃ -------====---------------------------------------------------
┃ *---------====---------==------------------------------------------
┃ *-------====---------====------------------------------------------
┃ ---------==------= --==-- ** * ------=** **=-----------------
┃ -------------------=**--==*************************** ---------------
┗━━━ == ------------------= **--==*******************************==-------------
--= ----------------- ****--==*********************************-------------
------------------------ ******---- ******************************-------------
=-------------------***********---- ******************************=----------
*** ---------------************###=--****************************=---------------
==-------------- **** ==========---*************===========****=---------------
=---------------**** =-------------- ********* ----------- ** =----------===
=---------------****=---------------= ********=---------------****=----------=
-------------**----=********** ******** ********** ---- *=----------=
-------------****** ----------= ******* ----------=******=--------=
* --*****----****=---=*#----*#=-- ==***** =--##---- * ----****=--------=
== ==--***** *#---- ** * ==***** **---- ** ****=---- ==
== ==--***********-===*******==*****= ****==== **********=---=**==
==#****==--**********************==*****= *******************=--= **==
==#*** ==--**********************==**** = *******************=--= **==
==#*** ==--*********************** **************************=-=****==
==**** --**#***************** ****##******************** =-=**==
==**** --==******************= ***** *****************=---=**==
==**** ----******************==== * = *****************=---=**==
====----******************* -------- *************** *=----==
------ **********=---------------------******** ------=
------ ******------------- =---------- ***** ------=
-------- ****------======= ==---- ****--------=
==-------= **== **** * == **==------=
--------=** ************************ ** --------=
--------- ***********= ********* =--------=
--------- *********--------=****** =--------
----------- *****---------- ***#-------------
------------====----------=====-----------
========--------------------------------------========
=------= =------------------------------------- =------=
=----------= * =---------------------------------== * =--------=
---------------= ***** -------------------------- * ==-----------------
=--------=-----------= **********=----------------=****** ==----------=----------=
------- ------------- ******************************* =------------------ -------
====------------------------= ******************************* =--------------------------=====
------------------------------= ***************************** =-------------------------------
-----------------------------------= ************************==-----------------------------------
=--------------------------------------= *********************==--------------------------------------=
=-----------------------------------------== ************** ====-----------------------------------------=
=----------------------------------------------==---==--==-----------------------------------------------=
==--------------------------------------------------------------------------------------------------------==
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
---------------=-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
----------------------------=----------------------------------------------------------------------------------
===============================================================================================================
┌─ Hello! I'm Haziq, a double major undergrad in Math & CS @ AUS. I'm currently doing research that focuses on Human-Computer Interaction (HCI) and long-horizon, multi-turn conversations with large language models (LLMs), exploring how we can make AI conversation systems more reliable, adaptive, and human-aligned.
However, I'm interested in exploring all avenues of research and would love to connect with researchers interested in collaborative work that span all areas of ML, feel free to reach out if you'd like to exchange ideas!
This portfolio provides more details about my experiences with projects, research, and work, └─ for a quick overview on all my work. You can check out my GitHub and LinkedIn.
└─ Hello! I'm Haziq, a double major undergrad in Math & CS @ AUS. I'm currently doing research that focuses on Human-Computer Interaction (HCI) and long-horizon, multi-turn conversations with large language models (LLMs), exploring how we can make AI conversation systems more reliable, adaptive, and human-aligned.
However, I'm interested in exploring all avenues of research and would love to connect with researchers interested in collaborative work that span all areas of ML, feel free to reach out if you'd like to exchange ideas!
This portfolio provides more details about my experiences with projects, research, and work, for a quick overview on all my work. You can check out my GitHub and LinkedIn.
ERGO is a model-agnostic inference-time framework that helps LLMs recover from context degradation and maintain high performance across multi-turn conversations. Models were presented information incrementally across inputs and were measured on tasks spanning code generation, API calling, SQL queries and more. ERGO improved average performance by 56.6%, it reduced unreliability by 35.3% and improved peak performance capabilities by 24.7%
I was the lead author on this work. It is my first publication as an undergraduate researcher and opened my eyes to the world of research. It involved a lot of learning and collaboration with my peers and mentors. This experience also helped me refine how I design experiments, analyze results and communicate findings. Along with that, writing this paper also helped improve my software engineering and code organization skills as I refactored all our original code into an easy to understand reproducible format, it can be found on the link here.
Published in the Proceedings of the Second Workshop on Uncertainty-aware NLP @ EMNLP 25'
Also accepted to MTI-LLM @ NeurIPS 25'
TikTokAutoUploader is an open-source Python tool that automates uploading videos to TikTok. It handles captcha solving using computer vision, supports proxy servers for different locations, integrates trending sounds, schedules uploads up to 10 days in advance, and checks for copyright issues. The tool helps creators manage multiple accounts and automatically adds working hashtags to boost reach.
This project was the first time I had to maintain real-world software that other people aside from me actually use. It taught me a lot about how to structure code properly so it's easy to understand and modify later. Also showed me how important good documentation is, I spent a lot of time writing clear guides and making sure the code itself was understandable. I also set up automated testing through GitHub Actions, which caught bugs before they reached users. Managing issues and pull requests from the community taught me how open-source collaboration actually works, reviewing code, handling version control, and making sure new features don't break existing functionality etc. Overall, the project was super integral to my development as a SWE.
The project has 140+ stars and 15+ forks on GitHub. I've closed about 20+ issues on it but am not currently maintaining it anymore.
KAN-Encoder is a U-Net-style image encoder-decoder architecture using Kolmogorov-Arnold Networks (KANs) in place of standard convolutional layers.
Project helped prep me for research, I had to do a lot of literature review and understand the math behind KANs and how they work. Also learned to refactor code other researchers use and publish on GitHub for my own use. Also gained experience in training neural nets from scratch.
VideoGenerator is a Python tool that automates the creation of short-form videos. It generates three types of content: "Will You Push The Button?" ethical dilemma videos, Reddit TTS story videos, and Reddit horror story comment slideshows. Combined with TikTokAutoUploader, it can form a complete pipeline for generating and uploading videos to TikTok.
Project saw me work with many API integrations (text-to-speech, text-to-image, LLM), Reddit APIs, and video processing across many different modules taught me how to navigate really large projects with complex folder structures and numerous interconnected files. I learned how to manage different technologies working together, debug across multiple layers, and keep everything organized as the codebase grew.
Videos generated with this pipeline have amassed over 55,000+ views across platforms.
Pokemon DCGAN is a Deep Convolutional Generative Adversarial Network implemented from scratch in Python to generate Pokémon-like images. The project uses a custom data loader to process over 10,000 Pokémon images, training only on front-facing sprites with a batch size of 32. The DCGAN architecture includes both generator and discriminator networks built with convolutional layers to synthesize new Pokémon images.
Project also allowed me to gain experience on building and training neural networks from scratch, especially one which has a very interesting and unique architecture.
SkinDiseaseClassifier is a Convolutional Neural Network built with PyTorch that leverages Google's MobileNetV3 architecture to classify images of different skin diseases. The model uses transfer learning to identify various dermatological conditions from a comprehensive skin disease dataset.
This project introduced me to transfer learning and fine-tuning techniques. Learned how to freeze pre-trained weights and modify only the final layers of an existing model.
The model achieved 94.4% accuracy on the test set.
Research Assistant at the CSE at AUS, working under the supervision of Dr. Imran Zualkernan. Currently working on research that focuses on Human-Computer Interaction (HCI) and long-horizon, multi-turn conversations with large language models (LLMs)
Recieved an Undergraduate Research Grant for Fall 25'
Researched and identified opportunities to integrate AI solutions for clients to improve efficiency. Designed and implemented these solutions, also used n8n to build agentic workflows for automation and orchestration.
Part of the core technical team at Google Developers Group on Campus (GGDoC), conduct seminars and workshops on various topics related to software development, AI and research.
Recognized for academic excellence and outstanding performance in coursework.