Welcome

Ryan Pek (b. 2001) | 3rd Year Undergraduate SUTD | Canned food enjoyer

About Me

Hi there! I'm Ryan, a student who loves to tinker with code and explore new ideas. When I'm not diving into my latest project (or the dustbin for electronics), you can find me learning something new or figuring out creative/silly ways to solve problems. This site is a little peek into my world of coding and fun projects!

More →

Homelab

I run self-hosted services in my homelab as a long term side project. As much as possible, I tried building it from the ground up — running services I use daily like a git server, jellyfin, automation controllers, internal networks I broke and fixed, and more hardware and time cost than I'd like to admit.

It started with building a 'cold' windows configured raid-10 machine, to a FreeNAS/TrueNAS machine using second hand parts, to a dedicated router, and has turned into an ecosystem of different machines and networking gear.

From sourcing parts and building the physical servers, to Docker orchestration to VLANs, WireGuard tunnels, DNS layering, media and game servers; it’s where I experiment and learn outside of the University. I have on occasion broke my own internet (prep rollbacks and don't prematurely run an untested and non functioning DNS resolver or DNS server or delete them by accident - Its an experience itself to have internet and no access), accidentally wrote over the zfs partition by duplicating over one level too high.

It's a sort of playground to learn and run new technologies, as well as my own backyard to consume the fruits of my labour.

I am currently in the midst of consolidating my internal services and writing ansible playbooks for migration, fresh spin ups, updates etc. The scale and complexity on the different machines is somewhat managable for now, but I suspect I am close to reaching some cognitive load limit soon. I have some functional knowledge of AWX and Jenkins with internal git integration to help with this problem, so expect some documentation, centralised planning and playbook / script execution and gitops in the works.

Full List of Homelab stuff: A breakdown of my self-hosted infrastructure, hardware specs, and services running across my custom servers and network stack.

Cool read if you have the time (I spent quite some time on the write up), some of my pain points experienced while building, setting up and running the homelab, as well as my future plans with it.

What I'm Currently Working On

Some snippets of my ongoing projects.

Completed/Archived Projects

A few things I’ve finished and I thought were cool.

Full List of projects →

Site Design Inspirations

This site is intentionally simple — no frameworks, no dark patterns, no extra JavaScript. Just good old HTML, some light CSS and Vim's auto indent to keep me sane.

No fancy graphics, no latest trends, just what I hope is easy to access and read.

The structure is inspired by Bjarne Stroustrup’s website, for its text-first clarity. I also borrowed some design choices from McMaster-Carr — straightforward, get to the point fast, no distractions.

More about the Site →

Setup

I built my own custom PC to handle everything from programming and simulations to hardware tinkering. It’s powered by a 5950X, 32GB, and a 7900 XTX.

I mostly work in Debian 13 stable on my workstation and T480, most of my homelab vms are on Debian 12 or 13 and the occasional Ubuntu Server. Some windows for my school work (so I can take the exam), to access acrobat to sign off documents.

Check out the full details of my setup here →

Other stuff

Comfort Languages:

C, Python 3, Go

Functional enough knowledge Languages:

C++, Java

I can do it with loads of googling/docs Languages:

Javascript, Typescript

Software stuff:

Git, Vim, tmux

Infra stuff:

Ansible, Terraform

Hardware stuff:

ESP32, Arduino, Raspberry Pi, 3D Printing