Projects
2025
Hanafi Halal Stock Screener đź”—
A web app that checks if a stock meets Halal compliance criteria. It calculates the Illiquid Asset Ratio, Net Liquid Assets vs. Price, and Debt to Assets ratio using live financial data. Built with vanilla HTML, CSS, and JavaScript.
4-bit Perceptron ASIC
"Parcognition" is a custom hardware-accelerated 4-bit perceptron designed for versatile classification tasks, specifically optimized for low-latency neural network operations. The architecture features a flexible design where the number of inputs and weights is user-defined, feeding into a Multiply-Accumulate (MAC) unit with an integrated ReLU activation function. Key hardware optimizations included parallelizing the loading of inputs and weights via dual regfiles and designing a bespoke combinational multiplier to avoid the overhead of sequential logic. To ensure robust operation, I utilized 12-bit wide registers and adders to prevent overflow during partial sum accumulation.
PARCv2 Processor with Bypassing and Stalling
This project involved the extensive modification of a single-issue PARCv2 core to support modern architectural features like in-order retirement and speculative execution. I designed a 16-entry Reorder Buffer (ROB) to manage instruction commit in program order, which solved critical write-after-write (WAW) hazards found in simpler out-of-order designs. To further boost performance, I implemented a branch speculation unit that allows the pipeline to continue fetching instructions while a branch is pending. This required complex state-tracking logic to handle mispredictions, including a pre-branch tail register to rollback the ROB to its correct state upon a mispredict. Evaluation against a baseline bypass core showed dramatic performance gains, particularly in a matrix multiplication benchmark where the overlapping of independent multiply operations led to an improvement of up to 89% in IPC.
2024
Asynchronous C-LASSO Hardware Accelerator đź“„
In this project, I developed an asynchronous hardware accelerator designed to solve the Constrained LASSO (C-LASSO) problem, a fundamental optimization task in sparse coding. The design utilizes the Spiking Locally Competitive Algorithm (S-LCA), which translates continuous neural dynamics into discrete, energy-efficient spike events.
I architected the system to be highly efficient by implementing a central control unit that manages global constants and spike information. This architectural choice was critical as it reduced the required communication channels between neurons from \(O(n^2)\) to \(O(n)\), significantly lowering the hardware overhead. To simplify the digital implementation, I rearranged the governing differential equations to eliminate the need for complex multiply and divide operations, utilizing bit-shifts instead.
Mathematical Foundation: The network minimizes the following objective function:
$$\min_{\alpha \ge 0} \frac{1}{2} \|x - \Phi \alpha\|_2^2 + \lambda \|\alpha\|_1$$
The neurons follow Leaky Integrate-and-Fire (LIF) dynamics, where the membrane potential \(u_i\) is governed by:
$$\frac{du_i}{dt} = b_i - u_i - \sum_{j \neq i} w_{ij} a_j$$
The implementation process involved three distinct methodologies: Python (as a gold-standard baseline), Communicating Hardware Processes (CHP), and Dataflow. While the high-level abstractions were verified as correct, the project involved rigorous low-level debugging during synthesis into production rules for the TSMC 180nm process. This testing phase was instrumental in identifying several bugs in the ACT/Maelstrom synthesis tools, including issues with non-exclusive guards and internal loop handling, for which I collaborated with tool developers to resolve.
2023
Dots to the Top
As part of my CPSC 484 - Human Computer Interaction class, my team and I built Dots to the Top, an interactive game where users are able to use a Kinect Azure sensor and move body parts to "hit" boxes on a TV display. The score users gain by hitting boxes are then added to their Yale residential college’s combined score, creating an environment of friendly competition and collaboration.
I built various frontend components like the navigation buttons, and backend components like the leaderboard and the score computing logic. I used HTML, CSS, JavaScript, Phaser, and Figma for this project.
ClassMate (TreeHacks 2023)
At Stanford's TreeHacks, my teammates and I created an interactive classroom and educational assistant that compiles a student’s classes and guides them to explore class-related concepts while discouraging the academic abuse of generative AI tools. I used the OpenAI API, HTML, CSS, Flask, and SQLite.
FridgeSmartly (Columbia DivHacks 2023)
At Columbia's DivHacks, my team and I created an augmented reality (AR) mobile app that functions as a “virtual fridge”, aiming to assist users in preventing food waste by reminding users of expiring foods and what is actually in their fridge. We used Swift and Echo3D for this project.
Our innovative idea won us the Best Use of Echo3D prize at the hackathon.
2022
Microbe Classification
I created a multi-class classifier that can differentiate 10 types of microbes according to 25 features (such as radii, eccentricity, diameter, and Euler number) with 97% accuracy. I used XGBoost, Scikit-learn, PySpark, Pandas, and NumPy.
Lung Cancer Classifier ML
As part of the AI4ALL Health Special Interest Group, I developed a convolutional neural network to detect tumors and classify stage of cancer in lung computed tomography (CT) scans with 99% accuracy, using Tensorflow, Keras, and Scikit-learn.
Our team published the model as a free resource against increasingly expensive healthcare costs in the U.S., saving the average user $500–$1000 and 24–96 hours of crucial physician diagnostic time.
We presented the product to industry professionals at the AI4ALL SIG Conference on artificial intelligence.
2021
My First Portfolio
This was the first website I built. While not very aesthetically pleasing, it was a great learning experience for me. I used HTML, CSS, and JavaScript for this project.