Megh Parikh

Senior Software Developer interested in C++, Rust & Mathematics

Projects

Static optical flow detection as a classification problem [ Deep Learning, Keras, OpenCV, Computer Vision ]
  • Problem deals with detecting the optical flow from a static image.
  • Modelled this regression problem as a classification problem by clustering the training data's outputs, helping us train it with less data
Raft Consensus Algorithm [ Distributed Systems, Consensus Algorithm, Protobuf, Socket, C++ ]
  • Implemented a fault-tolerant and performant consensus algorithm to sync state machines across multiple servers
  • Implemented in C++ using Protobuf for serialization and C++11 standard library for threading
Printed equation to LaTeX [ Digital Image Processing, Matlab, SVM ]
  • Used classic image processing techniques like morphology to segment out the characters
  • Used a basic SVM+HoG classifier for recognizing the characters
Linux Shell [ C, UNIX System Calls ]
  • Bash-like shell which interacted with the kernel using syscalls. Supported user-defined and built-in commands.
  • Also supported piping and input-output redirection along with foreground-background jobs
Games - BrickBreaker, Blockorz & a WebGL Aquarium [ C++, OpenGL, Javascript, WebGL ]
  • BrickBreaker and Blockorz are 2D and 3D games respectively coded from scratch in OpenGL and C++ without using any physics/game engine
  • WebGL Aquarium is a 3D aquarium with lighting, bubbles, reflective glass and multiple kinds of fish
Ultimate Tic-Tac-Toe Bot [ Artificial Intelligence, Heuristics, Python ]
  • AI bot which plays a competitive 2-player game called Ultimate Tic Tac Toe
  • Uses Min-Max algorithm with Alpha-Beta pruning to evaluate the best move among the numerous possible outcomes
Face-recognition based authentication app [ Computer Vision, Deep Learning, Python ]
  • Allows authentication to a web portal via face recognition. Uses DLib for detecting faces and a ResNet feature extractor
  • A SVM is used as classifier trained on the small set of images we get for the person
Mini-SQL engine [ SQL, Database Systems, Python ]
  • Implemented a small SQL engine with support for basic queries, joins and aggregate functions
Mini-Dropbox: P2P File Sharing System [ Sockets, Networks, P2P, TCP, UDP ]
  • Implement a peer-to-peer dropbox which keeps two directories in sync and could work on both TCP & UDP sockets