# Projects

Things I built or am building on my own time, and the work I can talk about publicly.

> Canonical URL: https://sudohulk.com/projects
> Author: Vignesh Kumar A <vignesh@sudohulk.com>
> Licence: CC BY 4.0. Quote freely, cite the canonical URL.

---

Personal projects first. Work is described at the level I can talk about publicly.

## Featured

- [Decentralized P2P Network](https://sudohulk.com/projects/p2p-network.md): A peer-to-peer messaging network in Rust on libp2p: messages arrive in under 50 ms across 100+ nodes, with Ed25519 peer identity and Noise-protocol encryption. (paused; rust, libp2p, ed25519, noise)
- [Hybrid Storage Engine](https://sudohulk.com/projects/hybrid-storage-engine.md): A key-value engine in C that keeps values in an append-only log and keys in a B-tree, so rewriting a large value does not churn the index around it. (paused; c)

## All projects

- [Smart Video Analysis](https://sudohulk.com/projects/smart-video-analysis.md): Event-processing microservices for video analysis events over Kafka and PostgreSQL, deployed with Docker, Terraform and GitHub Actions. (paused; kafka, postgresql, docker, terraform, github actions)
- [learn-rust](https://sudohulk.com/projects/learn-rust.md): My working notes and exercises while reading The Rust Programming Language, chapter by chapter. (paused; rust)
- [grokking-algorithms](https://sudohulk.com/projects/grokking-algorithms.md): Practice problems worked through while reading Grokking Algorithms, in Java. (done; java)

## Work

- [Distributed PostgreSQL](https://sudohulk.com/projects/distributed-postgresql.md): The internals of a horizontally scalable distributed PostgreSQL: sharding, distributed query execution, two-phase commit, and moving shards while the cluster serves. (active; c, postgresql, libpq, distributed systems)
- [ZohoPOS sync platform](https://sudohulk.com/projects/zohopos-sync-platform.md): The server side that keeps offline point-of-sale registers consistent with a finance platform, which I worked on for four years. (done; java, kafka, redis, mysql, websocket)
