Cybersecurity @ Purdue. Solving, Securing, and Scaling Distributed Software Systems

Projects

COMPLETED

Cloneable Zero Knowledge Password Manager

Glasshouse is an instantly cloneable zero knowledge password manager. It features a browser side cryptographic core, a fully async backend API, and a hardened IaC based deployment. The backend consists of a single cloud agnostic image that runs identically via docker compose up or on the Terraform provisioned AWS stack, similar to the one being used in the live demo deployment.

Signature Decisions:

The core design constraint was portability without compromising functionality. Glasshouse ships entirely as Docker containers with environment driven configuration, making it fully cloud agnostic: The same deployment runs identically on AWS , a home server, or a $5 VPS. This simplicity sits on top of a cryptographically robust, zero-knowledge architecture, where the server never has access to any plaintext data.

One t3.micro · 7,000 concurrent users · 230 req/s

APP

Python · FastAPI · Pydantic · SQLAlchemy · asyncpg · React · Vite · WebCrypto · Argon2id · AES-256-GCM

INFRA

AWS (EC2 · RDS · ECR · Secrets Manager · IAM · VPC · SSM) · Terraform · Docker

DELIVERY

nginx · Cloudflare · Vercel · GitHub Actions (OIDC)

OBSERVABILITY

Prometheus · Grafana · k6

IN PROGRESS

Distributed Key Value Store

KVStore is a distributed key value store built in Go, featuring Raft based replication, a write ahead log for durability, and MVCC for non-blocking concurrent reads. It exposes a byte oriented API over a replicated state machine, where every write is made durable in an append-only log before being applied to in memory state, and consensus is maintained across a cluster of nodes so that the store survives both crashes and node failures without losing committed data.

Signature Decisions:

The core design constraint was achieving low level correctness without using a library. The store uses an in memory map backed by a write ahead log rather than an LSM tree(which is deferred to the future). The log is the durable source of truth and the in memory state is a rebuildable cache. For versioning and logging, a single monotonic counter serves as both the log sequence number and the MVCC version. The storage layer sits behind a pluggable interface and the API is byte oriented throughout, so the engine stays decoupled from any single serialization or on disk format. Distribution is achieved through Raft replication (not sharding), so a working single node state machine is the foundation the consensus layer replicates on top of.

METRICS

To Be Added

STORAGE ENGINE

Go, append only write ahead log (WAL), CRC validated record framing, MVCC via per key version chains, unified LSN/version counter, crash recovery via log replay, pluggable storage interface, in-memory state machine.

CONSENSUS & DISTRIBUTION

Raft (leader election, log replication, commit index tracking), replicated state machine model, byte oriented client API.

TOOLING & DELIVERY

Go toolchain (go build, go vet, gofmt), table driven tests with round trip and corruption coverage, Conventional Commits, GitHub Actions CI.

IN DESIGN

Planning to build a self healing deployment controller using kubebuilder with a controller run time. Aiming to build on first principles of system design by: building level triggered reconciliation(similar to terraform) that works on an observed to desired state principle; anti flapping and backoff logic to keep remediation from oscillating, and dependency aware ordering to preserve remediation sequence.

Experience

Niche Definition: 2 years ago, a 10 month building, and deploying spree at my venture Proxytorium helped me define my niche in tech. Today, I enjoy solving fundamental software problems with user distribution, abstraction layers, and security in mind.