Hi, I am Malhar

Software engineer working across low-level systems, networking, and multimedia. Focused on understanding how code interacts with underlying hardware.

About

Most of what I enjoy about software engineering is working out how a complex system functions beneath the surface, then using that understanding to build reliable tools. Operating systems, networking, and multimedia systems have all held my attention because they are fundamentally knowable. You can always trace what happened, follow the data, and understand why a component behaves the way it does.

My journey started in industry where I built practical utilities. I wrote tools that pulled data off industrial equipment, moved information between backend systems, and audited files across networked machines. The work was practical and offered fast feedback, but I constantly met the edge of what I actually understood. I was opening network sockets and using file systems without knowing what happened behind those abstractions once a function call returned. That gap in my understanding led me to graduate study, where I focused on working down through those lower layers to build things like custom kernels, media codecs, and raw network implementations from scratch.

When designing software, I strive to make my work clean, predictable, and resilient. I try to build tools that are general enough so that accommodating a new use case simply means changing the inputs, rather than rewriting the internal logic. Today, I enjoy working on software that sits near physical hardware while keeping the final interface straightforward and usable for the person on the other end.

Experience

Projects

Weenix OS

A Unix-like operating system kernel built with thread scheduling, Virtual File System (VFS/S5FS), and Virtual Memory (VM) management (Weenix OS / USC CSCI 402)

C Kernel Operating Systems
View Project

Multimodal Segmentation of Long‑Form Video

Built a segmentation pipeline combining visual features, audio embeddings, and temporal modeling to classify video segments as content or non‑content, improving structure understanding for long‑form media.

Video Processing Audio Processing Multimedia C/C++ Qt
View Project

Adaptive Block‑Size JPEG Codec

A full JPEG transform‑coding pipeline that replaces fixed 8×8 blocks with a variable block‑size approach (32×32, 16×16, 8×8) selected using quadtree partitioning. This improves compression efficiency by using larger blocks for smooth regions and smaller blocks for detailed areas.

Image Compression JPEG Image Processing
View Project

Resume

Get a detailed overview of my professional experience and qualifications.

Download Resume (PDF)