Open Source

I work on machine learning projects, natural language processing, and open-source contributions. I enjoy building tools and exploring different areas of AI, particularly, graph machine learning and deep learning.

The projects here include building autograd engines, contributing to recommender systems, and working on NLP research for low-resource languages.

If you find something interesting or want to collaborate, let me know!

NebTorch — Minimal Autograd Engine

NumPyAutogradDeep LearningPyTorch

NebTorch is a minimal Autograd engine built from scratch using NumPy, inspired by PyTorch's automatic differentiation system. After completing and serving as a TA for 11-785: Introduction to Deep Learning at CMU taught by Prof. Bhiksha Raj, I was inspired to build my own Autograd engine from scratch. Building NebTorch has been very rewarding—I've solidified my understanding of Deep Learning and Automatic Differentiation, and gained appreciation for frameworks such as PyTorch and TensorFlow.

GitHub Repository

NebTorch repository preview

DeepResearch-LangGraph — Multi-Agent Research System

LangGraphLangChainMulti-AgentFan-in/outParallel ExecutionPython

DeepResearch-LangGraph is a multi-agent research system built using LangGraph, designed to enable deep, autonomous research capabilities through multi-agent AI. The system leverages LangGraph's stateful architecture with PostgreSQL checkpoints to orchestrate complex research workflows, allowing multiple specialized agents to work together on research tasks, information gathering, and synthesis.

GitHub Repository

DeepResearch-LangGraph repository preview

DeepSeek-Mini — DeepSeek Model Components Implementation

PyTorchMixture of ExpertsMulti-head Latent AttentionRoPEDeep Learning

DeepSeek-Mini is an implementation of DeepSeek's major novel components for learning and experimentation purposes. This repository includes implementations of Mixture of Experts (MOE) with shared expert networks, Multi-head Latent Attention (MLA) mechanism for optimized inference with KV-caching, and Rotary Positional Encoding (RoPE). Building these components from scratch has solidified my understanding of MLA kv-caching and MOE model architecture, which helps reduce inference latency in transformer models.

GitHub Repository

deepseek-mini repository preview

LittleLamb Tool-Calling Fine-Tune — Qwen + ToolMind

QwenLoRATool CallingSFTPyTorchHugging Face

Fine-tuned LittleLamb 0.3B, a compressed Qwen3-based decoder-only transformer (290M parameters) for function calling on the ToolMind dataset. Trained with supervised fine-tuning (SFT) and PEFT via LoRA on the open_datasets split. Explored tool-calling evaluation beyond validation loss—AST matching accuracy (e.g. Berkeley Function Calling Leaderboard) and function call accuracy for measuring correct tool selection and arguments at inference time.

GitHub Repository

qwen-toolmind-toolcalling-finetune repository preview

Hugging Face Deep Reinforcement Learning Course

Reinforcement LearningQ-LearningPPODQNGymnasiumHugging Face

Completed Hugging Face's Deep Reinforcement Learning course, learning important RL approaches: Policy-Based, value-based, and actor-critic based approaches. Worked on 7 projects, implementing the Q-learning algorithm from scratch, training a Lunar Lander agent using Proximal Policy Optimization (actor-critic reinforcement learning), training a Deep Q-Learning (DQN) agent that uses a CNNPolicy (CNN feature extractor) to learn to assign values to states and play Space Invaders, and many more.

GitHub Repository · Course

huggingface-deep-reinforcement-learning-journey repository preview

Gorse Recommender System — .NET Library Enhancement

C#.NETRecommender SystemsOpen Source

Contributed to the Gorse recommender system, an open-source machine learning recommendation engine written in Go. Enhanced the .NET library for Gorse, improving the machine learning ecosystem and making the recommender system more accessible to .NET developers. This contribution demonstrates my commitment to open source development and my ability to work across different programming languages and frameworks.

GitHub Repository

Gorse.NET repository preview

XLM-R Based Extractive Amharic QA with AmaSQuAD

NLPXLM-RPyTorchHugging Face

Completed my thesis project at Carnegie Mellon University in multilingual question-answering research (NLP). Developed a novel framework for translating the SQuAD 2.0 dataset into Amharic, resulting in the creation of an open-source dataset called AmaSQuAD. Implemented a translation-based data generation framework valuable for extractive Question Answering (QA) systems, contributing to the advancement of NLP for low-resource languages. Leveraged XLM-R, a pre-trained language model, and fine-tuned it specifically for Amharic QA tasks, achieving 7% F1 improvements in baseline performance. The dataset is publicly available on Hugging Face.

arXiv Paper · Dataset

AmaSQuAD paper preview

Machine Learning Based Rain Gauge Using Acoustic Data

CNNPyTorchAudio ProcessingRegression

Addressed the challenges of conventional weather stations such as high setup costs, instrument fragility, and measurement errors by exploring alternative sound sources for making rainfall predictions. Used a Convolutional Neural Network (CNN) regression model using PyTorch and TensorFlow to estimate rainfall intensities from MFCCs extracted from acoustic recordings. Employed CNN model and achieved a Mean Absolute Percentage Error (MAPE) of 35.20% and a Mean Squared Error (MSE) of 0.66, outperforming a baseline SVR model with 152.55% MAPE and 1.73 MSE.

IEEE Paper