Personal project portfolio

I fix things for a living.
I build them for fun.

IT support by day. After hours, a self-hosted lab of my own: a three-node cluster, an AI assistant called Elara, and a pile of interfaces that make it all easy to read.

Tour the lab Say hello

Right now

Studying for a B.S. in Data Analytics

Teaching Elara to listen hands-free

Sketching an interactive map of the lab

The lab in numbers

24

containers on 3 Proxmox nodes

+ 3 Raspberry Pis, 1 Gbps in

Write to me

sbarba@athelara.com ↗

No trackers. No sign-up forms.

01 / The lab

One lab, one layer at a time.

Pick a layer to see what lives in it. Addresses, credentials and private services are left out on purpose.

02 / Projects

Things I built on top of it.

Each visual is an illustration of the idea, not a screenshot.

Featured · Personal AI assistant

Elara

An evolving assistant that connects AI workflows, infrastructure observation, voice and everyday operational tools, with deliberate limits on identity and actions.

Hermes AgentPythonVoice interface
ELARAvoice · text
How is the lab looking?
Core services are responding and last night’s backup finished.
Illustrative conversation
Gateway · private access
Compute
Storage
Services
Illustrative architecture
Virtualization & networking

The homelab

A three-node environment for running applications and learning how services depend on each other.

ProxmoxOPNsenseVLANsPi-hole
Illustrative catalog wireframe
Catalog & portal

Lumina

Private catalogs, readable product presentation and role-aware portals, described here without exposing private content.

Responsive UIPrivate access
Back in stockDiscord
Discord
Discord
Illustrative alert feed
Monitoring & notifications

Dropwatch

Follows product availability and delivers useful alerts. No retailer partnership or special API access is implied.

Discord alertsPWA
Services
Backups
Media
Network
Illustrative touch panel layout
At-a-glance interfaces

Rack kiosk & desk panel

Two Raspberry Pi displays that make service state easy to read, one passive, one touch-controlled.

Raspberry PiDashboard UI
Illustrative player
A connected music library

Music workflows

A self-hosted library, playlist mirroring and library upkeep, built around existing open-source services.

NavidromeSoulSyncListenBrainz
Movies
TV
Photos
Illustrative library shelf
Movies, TV & photos

Media & photos

Self-hosted media and photo services, with attention to library organization and playback devices.

JellyfinImmichHardware transcoding
Phone folder
Verify copy
Storage
then remove the original
Illustrative sync flow
Files & device workflows

Personal file cloud

Mobile folders linked to self-hosted storage, verifying every copy before an original is removed.

NextcloudFolderSyncAndroid
The work behind the uptime

Resilience & observation

Backups, resource-pressure alerts, service checks and staged power management. The goal is understandable recovery: know what is protected, verify what can be restored, and tell a running process from a working service.

BackupsHealth checksUPS workflowsInfluxDB
Backup
Restore test
Service check
Power management
Illustrative checklist

03 / Decisions

Why it’s shaped this way.

Every choice trades something. Here is what I picked, why, and what it costs.

DecisionWhyTrade-off

Three nodes, not two

A two-node cluster loses quorum when either node drops. A third node removed that fragility.

More hardware, and every node has to stay on matching cluster-stack versions.

A router with its own hardware

OPNsense runs on a dedicated node with an internal Intel NIC, after a USB adapter capped throughput far below the 1 Gbps plan.

The routing node hosts routing and little else, so it is not a free-for-all box.

Double NAT, on purpose

I kept the ISP gateway in router mode while proving OPNsense, so a rollback stayed one change away. Bridge mode comes once it has proven stable.

An extra layer to reason about until the lab has a single edge.

One source of truth for DNS

Pi-hole on its own Pi is the only DNS and DHCP server, so name resolution never depends on a single hypervisor.

It is a single point of failure, so it shuts down last. A stale gateway setting there once broke DNS after a renumber; auditing hardcoded gateways is now part of every change.

Tell a drive from a cable

When a data disk went read-only, I diagnosed before replacing it. It came back after a rescan and passed SMART and a self-test, which pointed to a cable or connector fault. The data was copied off first.

It also exposed that the service had no backup of its own.

Observe every node

A small agent on each node reports temperature, load and SMART health to the dashboards and to Elara.

Next: long-term metric history does not cover every node yet.

04 / The person behind the projects

Hi, I’m Stacey.
I learn by building.

Friends online know me as Wren.

I work in IT support by day, and what I care about most is systems people can rely on. These projects are where I practice that on my own terms: solving practical problems and understanding the systems I use.

I like the space between disciplines, where a network makes an application possible, an automation removes a chore, or a better interface makes something complicated feel approachable.

Useful over flashyBuild around a real task, not a decorative demo.
Privacy by defaultShare the work without exposing the systems behind it.
Verify, then iterateTest the real path and keep a way back.
Always learningData analytics next, so the lab can answer questions with numbers.

05 / Get in touch

Have something in mind?

Questions about a project, shared interests, or a good idea. Email me.

sbarba@athelara.com ↗
Say hello