Projects
Ember WIP
A KVM-based userspace hypervisor in Rust for x86-64, with support for loading a Linux kernel and initramfs. Still a work in progress.
Tinker
Background coding agents that turn tasks into pull requests with passing CI checks. Code runs in isolated Firecracker microVM sandboxes.
Homelab
My K3s cluster on Proxmox, managed with Kustomize. MetalLB, Traefik, and internal TLS handle networking, while Prometheus, Grafana, and Loki provide monitoring and logging.
VSTEP Study Room
A Django and React exam preparation platform I built with help from coding agents for my wife, a university professor, to track student progress. It includes automatic grading, teacher feedback, and AI-assisted exercise imports. Containerized with Docker, with GitHub Actions for testing and image publication, for self-hosted deployment on my Homelab K3s cluster.
hyperc
A KVM-based virtual machine monitor and a custom x86-64 guest kernel, with virtual memory management, ELF loading, and kernel-to-user privilege transitions.
smolk8s
A minimal Kubernetes-inspired orchestrator to explore how the control plane and worker nodes manage cluster workloads.
cfs
A learning container runtime in C, built with Linux namespaces, cgroup v2 resource limits, filesystem isolation, capability restrictions, and seccomp filters.
sanbok
A Firecracker microVM manager in Go. Connect over SSH to provision or restore a virtual machine and get an interactive shell.
Wats
A TypeScript compiler targeting WebAssembly binaries, with functions, control flow, bounds-checked arrays, linear memory access, and JavaScript host imports.
smolkafka
A Kafka-inspired log streaming system in Go, with Raft-based leader election and log replication. Deployed on Google Kubernetes Engine.
smolredis
A lightweight Redis-inspired server in Go to explore network programming and the data structures behind an in-memory key-value store.
Contact
Contact honganhpham.work@gmail.com for work or phamhonganh12062000@gmail.com if you just want to chat.
I would love to read what you write for me!