What I've Been Tinkering With.

A collection of experiments, platforms, and open-source work.

Project / Database, Data Structures, Go, Kubernetes

ConureDB

A B-Tree based key-value store with copy-on-write pages and a Raft-backed distributed mode for linearizable writes and optional follower reads.

ConureDB
Project / Software Development

EchidnaLB

EchidnaLB is a high-performance Layer 7 load balancer written in Rust, designed to manage HTTP/HTTPS traffic with support for HTTP/1.1 and HTTP/2 protocols. It offers multiple load-balancing algorithms, including Round Robin, Weighted Round Robin, IP Hashing, Least Connections, and Least Latency, ensuring efficient traffic distribution across backend servers. The load balancer supports both IPv4 and IPv6 listeners, configurable health checks to monitor server availability, and optional TLS termination with SSL certificates for secure communications.

EchidnaLB
Project / Kubernetes, Linux

Iptables Visualizer

A web application for visualizing the iptables rules present in the Kubernetes kube-proxy pods or in a Linux operating system in the form of a directed acyclic graph.

Iptables Visualizer
Project / Algorithms, Data Structures, Web Development

Grid Path Finder

A web app for finding and visualizing the path between a source position and a destination position in a grid using graph algorithms such as BFS, DFS, Dijkstra, etc.

Grid Path Finder
Project / Artificial Intelligence, Web Development

Chess AI

An AI chess engine developed in Javascript that implements a Mini-Max algorithm to perform an adversarial search with the objective of finding the next best move. To make the process of searching the game tree more efficient, Alpha-Beta pruning is incorporated in the logic. The heuristic function to evaluate the board position is defined as the sum of individual piece cost weighted according to the piece-square table. Finally, there's a leaderboard for those who successfully beat the AI, which is implemented using Firebase Cloud Firestore.

Chess AI
Project / Algorithms, Web Development

Sorting Visualizer

A web application for visualizing Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, and Quick Sort. The application is developed in next.js application developed along with react.js for server-side rendering of react js application for improved SEO and support for hardware resources constrained devices. The codebase is written in Typescript instead of Javascript for better code understandability and maintainability.

Sorting Visualizer