Skip to content
View vismaychuriwala's full-sized avatar

Highlights

  • Pro

Block or report vismaychuriwala

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
vismaychuriwala/README.md

Vismay Churiwala | Software Engineer & Researcher

Welcome to my GitHub portfolio! I am a software engineer and researcher passionate about building robust, high-performance systems at the intersection of machine learning, distributed computing, and computer graphics. This repository showcases a selection of my projects, reflecting my expertise in developing novel algorithms, designing scalable systems architecture, and applying cutting-edge AI to solve complex problems.


Technical Skills

Category Technologies & Concepts
Languages C++, Python, C, GLSL
Frameworks & Libraries PyTorch, JAX, NumPy, Pandas, Scikit-learn, OpenGL, Qt, LangChain, Gradio, POSIX Threads (pthread)
Machine Learning Deep Learning, Physics-Informed Neural Networks (PINNs), Diffusion Models, Transformers, Reinforcement Learning, Multi-Armed Bandits, Bayesian Inference, Gaussian Processes, MCMC, Computer Vision (CNNs), NLP, Time-Series (LSTMs)
Systems & Networking Distributed Systems, Fault Tolerance, High Availability, Sequential Consistency, Concurrency (Multithreading/Multiprocessing), Socket Programming, TCP/IP, IPC (Pipes), Network Protocols (SMTP/POP3), Systems Design, Cloud Architecture
Computer Graphics 3D Rendering, Procedural Generation, Geometric Data Structures (Half-Edge Mesh), Skeletal Animation (Skinning), Shading, Collision Detection, Ray-Marching
Developer Tools Git, Docker, Makefiles, Bash Scripting, Linux

Featured Projects

Here is a curated selection of my projects, demonstrating my capabilities across various domains.

LLM and Agents

This area focuses on building applications with Large Language Models and autonomous AI agents.

  • Description: An AI-powered study tool built for the WhartonAI-thon, processing lecture notes (PDFs) to generate concise summaries with citations, interactive quizzes, and personalized performance reviews.
  • Key Features: PDF Text Extraction, AI-powered Summarization & Quiz Generation, Personalized Feedback, Interactive Web UI.
  • Technologies: Python, Gradio, OpenAI API (GPT-3.5), PyPDF2.

Machine Learning and Data Analysis

This section contains projects in deep learning, scientific computing, and data analysis, including published research.

  • Paper: "Predicting Flow Dynamics using Diffusion Models"
  • Description: Implementation of a diffusion-based transformer model for simulating and predicting fluid dynamics. Successfully reproduced and extended results on Navier-Stokes and Lattice Boltzmann Method (LBM) simulations, highlighting the model's versatility. Identified and corrected a fundamental loss function error for improved prediction quality.
  • Technologies: Python, PyTorch, Jupyter, NumPy, Matplotlib.
  • Paper: "PDE-aware Optimizer for Physics-informed Neural Networks"
  • Description: A novel optimizer that leverages the physical problem's structure to achieve more stable training for Physics-Informed Neural Networks (PINNs). Improves training stability by aligning gradients and scaling updates using variance of per-sample PDE gradients without expensive Hessian calculations. Benchmarked on Burgers', Allen-Cahn, and KdV equations.
  • Technologies: JAX, NumPy, SciPy, Matplotlib.
  • Description: Explored using Physics-Informed Neural Networks (PINNs) to simulate magnetization dynamics governed by the LLG equation, comparing Multi-Layer Feed-Forward Networks (MLFFNNs) and Long Short-Term Memory (LSTM) networks. LSTMs showed superior performance in capturing temporal dependencies for multi-spin systems.
  • Technologies: Python, PyTorch, NumPy, Matplotlib.
  • Description: A fully automated, four-stage pipeline for processing simulated particle accelerator data (HIJING model for Pb-Pb collisions). It handles large-scale data splitting, filtering, conversion to TTree format, and performs physics analysis to extract kinematic variables like transverse momentum (pT).
  • Technologies: C++, ROOT, Bash Scripting, Linux.

Systems and Networking

These projects focus on distributed systems, network protocols, and high-performance computing in C++.

  • Description: A highly available, distributed key-value store built from scratch in C++. Features a 3-tier architecture with a load balancer, stateless frontend, and replicated backend. Achieves Sequential Consistency through row-level locking and primary-based replication, with automatic primary failover and consistent checkpointing for robust fault tolerance. Provides file storage and a webmail client.
  • Technologies: C++, Sockets, POSIX Threads (pthread), Makefiles.
  • Watch the Fault Tolerance & Recovery Demo on Vimeo

Computer Graphics

This section showcases projects in 3D rendering, procedural generation, and interactive graphics.

  • Description: A 3D mesh editor supporting loading, viewing, and manipulation of 3D models. Built around a robust half-edge data structure, enabling efficient mesh operations like face extrusion and vertex manipulation. Also supports skeletal animation (skinning).
  • Key Features: Half-Edge Data Structure, Interactive Mesh Editing, Skeletal Animation.
  • Technologies: C++, OpenGL, GLSL, Qt Framework.
  • Watch the Demo on Vimeo
  • Description: A 3D procedural world generation game inspired by Minecraft, built from scratch. Features an infinitely generating world with block-based terrain, multiple biomes, and a player with physics-based movement and collision detection.
  • Key Features: Infinite Procedural World Generation (Perlin Noise), Multi-threaded Chunk Loading, Diverse Biomes, Player Physics & Collision Detection (Ray-Marching), 3D Rendering with Texturing and Lambertian Shading.
  • Technologies: C++, OpenGL, GLSL, Qt Framework, C++ Threads.
  • Watch the Full Demo on Vimeo

Contact

Pinned Loading

  1. Diffusion-Transformer-for-Flow-Prediction Diffusion-Transformer-for-Flow-Prediction Public

    Forked from krispy-kenay/enm5310-final-project

    This repository contains our implementation of a diffusion-based transformer model for simulating fluid dynamics, inspired by the DiffFluid paper (2024).

    Jupyter Notebook 2

  2. PDE-aware-optimzer-jax PDE-aware-optimzer-jax Public

    This project introduces a PDE-Aware Optimizer that aligns gradients from PDE-residual, boundary, and initial losses, scales steps by the variance of per-sample PDE gradients, and avoids expensive H…

    Python

  3. PennCloud PennCloud Public

    PennCloud is a robust, highly available distributed key-value store implemented in C++. Designed as a foundational cloud service, it supports applications like email and file storage, demonstrating…

  4. CUDA-Path-Tracer CUDA-Path-Tracer Public

    Forked from CIS5650-Fall-2025/Project3-CUDA-Path-Tracer

    C++

  5. OpenGJK-GPU OpenGJK-GPU Public

    An implementation of the openGJK repository in CUDA

    C 1

  6. WebGPU-Gaussian-Splat-Viewer WebGPU-Gaussian-Splat-Viewer Public

    Forked from CIS5650-Fall-2025/Project5-WebGPU-Gaussian-Splat-Viewer

    TypeScript