Portfolio Projects

Trading Systems and C++

Low-latency FIX Engine

Building a high-performance FIX client in C++ as a hands-on way to dive deep into the FIX protocol and low-latency application development. This project is all about optimizing network communication, execution speed, and memory management—key areas for building fast and efficient trading systems.

Project Focus:

  • Fix Protocol Mastery – Parsing, validating, and generating FIX messages while making sure everything runs smoothly and adheres to industry standards.
  • Optimized Network Communication – Using raw POSIX sockets, TCP/UDP tuning, and asynchronous I/O to keep latency as low as possible while handling high-frequency data.
  • Efficient Memory Management – Implementing memory pools and lock-free data structures to reduce allocation overhead and maximize performance.
  • Low-Latency Execution - Leveraging modern C++20 features, cache-friendly programming, and multi-threading to ensure fast and scalable message processing.

Real-Time Order Matching Engine

Referencing the textbook "Building Low Latency Applications with C++" by Sourav Ghosh. Actively building a high-speed order matching engine using lock-free data structures and memory pools.

Project Focus:

  • High-Performance Order Matching – Implementing a fast, lock-free order matching engine using memory pools and efficient data structures.
  • Optimized Network Communication – Designing an asynchronous, event-driven architecture with Boost.Asio to handle real-time market data and order flow.
  • Low-Latency Processing – Leveraged C++20, cache-friendly algorithms, and multi-threading to minimize execution time and maximize throughput.

XV6 Strace Implementation

A linux-like strace implementation for the xv6 operating system in order to track system calls executed by user programs.

Project Focus:

  • User-Controlled Debugging – Traced processes using command-line flags, enhancing debugging capabilities within xv6.
  • System Call Tracing – Implemented a new strace system call to log system calls made by user programs in xv6.
  • Kernel Modifications – Modified syscall.c and sysproc.c to track and print system calls dynamically based on process-specific settings.

Cloud Computing and Distributed Systems

AWS-Hosted Chatbot

A chatbot built leveraging lambdas, DynamoDB, S3 and ElasticSearch that provides restaurant recommendations by scraping Yelp, storing restaurant information, and indexing the data for fast retrieval.

Project Focus:

  • Amazon DynamoDB for storing restaurant data
  • Elasticsearch for indexing and fast retrieval
  • Python Lambda functions for event handling

Data Engineering & Management

NYU Housing Analysis

Identify the preferable place in NYC for students to live in terms of crime and transportation using historic dataset provided by NYC via their open data initiative and daily rental price obtained from Airbnb.

Project Focus:

  • PySpark for distributed data processing
  • Spark MLlib for predictive modeling
  • GeoPandas for interactive mapping

Music Social Media Application

Built a social media application for music fans in React and Node.js. The application allows users to login, connect with friends, rate and review songs, and follow artists for new releases.

Project Focus:

  • React for UI
  • Node.js for backend interactions
  • MySQL for database management

Miscellaneous

ChatGPT Fitness Trainer

Implemented a personalized fitness trainer app in Java. The application offers a comprehensive, data-driven solution that caters to individual fitness goals by providing tailored diet and exercise recommendations. Utilizing the OpenAI API, the app aims to simulate the expertise of a fitness coach to guide users based on various personal metrics like weight, height, age, and specific fitness objectives such as weight loss, weight gain, or muscle building.

Project Focus:

  • Database Management
  • Concurrency
  • Graphical User Interface