WORK / LAB / AUTOMATION

Projects I’ve
built and operated.

Hands-on work across AWS, homelab infrastructure, networking, and automation. Each entry explains what I built, where it runs, and what I learned.

Cloud

The portfolio is itself a working cloud project, built to put AWS fundamentals into practice.

Homelab infrastructure

A Lenovo Tiny Proxmox host and Raspberry Pi run services that I use, learn from, and improve over time.

Proxmox Homelab

HOMELAB · VIRTUALIZATION
Proxmox node dashboard with resource graphs and virtual machine list
Proxmox node summary and workload graphs. Click to open the original.

Goal. Keep a small, always-available environment for virtualization, Linux, containers, storage, network services, and self-hosted applications.

What’s running. Lenovo Tiny mini PC with a six-core Intel i5, 16 GB RAM, 256 GB internal SSD, plus a Samsung 1 TB external SSD. Proxmox hosts Immich, Jellyfin, Docker containers, and planned future virtual machines.

What I’m learning. Resource planning, persistent storage, service networking, backups, Linux operations, and keeping the services I use available.

ProxmoxLinuxDockerStorageNetworking
Homelab details and network map →

Immich Self-Hosted Photo Infrastructure

HOMELAB · STORAGE

What I built. Migrated approximately 255 GB of personal photos and videos into Immich running in the Proxmox homelab.

What it involved. Moving a substantial personal media library into self-hosted infrastructure while keeping the service, data, and storage together.

What I learned

  • Plan data migration before moving a large library.
  • Understand persistent volumes, storage capacity, and where application data lives.
  • Consider backups and recovery before relying on a self-hosted archive.
ImmichProxmoxDockerLinuxPersistent Storage

Jellyfin Media Server

HOMELAB · SELF-HOSTED

Jellyfin runs in my Proxmox environment as a self-hosted media server. The project gives me a practical place to work with Linux services, storage, containerization, and home network access.

Areas exercised

  • Run a persistent application inside the homelab.
  • Connect a service to its media storage and client devices.
  • Keep local services reachable and monitored.
JellyfinProxmoxLinuxContainersStorage

Uptime Kuma + Discord Alerts

HOMELAB · MONITORING

Self-hosted uptime monitoring for services in my lab. I configured Discord notifications so I know when monitored services become unavailable and when they recover.

Discord notification from Uptime Kuma showing the Immich service is up
Recovery notification: Immich is up.
Discord notification from Uptime Kuma showing a Jellyfin service went down
Outage notification: Jellyfin went down.

What I learned

  • Monitor service availability rather than assuming a service is healthy.
  • Use alerts to reduce the time between an outage and noticing it.
  • Keep monitoring separate enough to help diagnose the service being watched.
Uptime KumaDiscordRaspberry PiMonitoring

Pi-hole DNS Project

NETWORKING · HOMELAB

Pi-hole provides network-level DNS filtering in my home environment. I use it selectively for devices and have experimented with DNS and DHCP configurations; the main router currently handles DHCP.

What I learned

DNS changes affect every client differently, so test device by device and keep a clear path to revert network settings.

Pi-holeDNSDHCPRaspberry Pi

Homelab Network + Rack Build

NETWORKING · HARDWARE
Compact 10-inch homelab rack with patch panel, switches, Lenovo Tiny, Raspberry Pi, and cable management
The physical rack build and network gear.

A compact 10-inch rack build for the lab: managed and unmanaged switches, patch panel, Cat6 keystones, short patch leads, cable management, rack PDU, Lenovo Tiny host, Raspberry Pi, and external storage. Some parts were purchased used.

The home network is consolidated on 192.168.1.0/24. The diagram on the homelab page is a high-level map; it does not imply specific switch ports or cabling that haven’t been documented.

SwitchingEthernetPatch PanelRack Build
View the lab map →

Automation

Small scripts can make an always-on homelab useful every day.

Morning Motivation Bot

AUTOMATION · PYTHON
Discord morning check-in notification with a motivational quote, daily goals, and an Immich video link
Automated morning check-in delivered through Discord.

Problem. I save motivational reels but rarely return to watch them.

What I built. A morning automation that sends me a random motivational quote, a random video from my Immich library, and my daily goals and reminders through Discord.

How it works

A Python script runs on my Raspberry Pi on a cron schedule. It puts together the morning message and delivers it to Discord. The Instagram walkthrough is linked below; source code and deeper implementation notes have not been linked here yet.

Where it runs

Raspberry Pi · Python · cron · Discord · Immich media library.

What I learned

Connect useful data from services already running at home, schedule a repeatable task, and make automation part of a routine instead of a one-off demo.

PythoncronRaspberry PiDiscordImmich
Watch the project walkthrough ↗

Reminder Bot

AUTOMATION · HOMELAB

Known so far. A separate reminder bot is part of the Raspberry Pi homelab automation services.

Implementation details to add

  • What reminders it sends and who receives them.
  • Trigger or schedule, message channel, and configuration.
  • Language, dependencies, and how the service is kept running.
  • A repository link or screenshots if available.

I’m leaving these as open details rather than guessing about how this bot works.

Raspberry PiAutomationDetails to document

Want the professional timeline and complete skills list?

View Syed’s resume ↗