Projects & case studies

Evidence, constraints, and trade-offs.

These examples show more than a list of technologies. Each one explains the problem, Robert's role, the operating constraints, the chosen approach, how the result was checked, and where the solution should not be overstated.

Open source · Author and maintainer

MailACL

Deterministic authenticated email aliases with stateless verification and explicit compatibility and security boundaries.

View source
Problem
Create readable service-specific aliases that can be checked later without maintaining a database of every issued address.
Constraints
Preserve established alias formats, respect the email local-part byte limit, keep secret material out of process arguments, and explain the effect of tag truncation.
Role
Designed, implemented, documented, tested, and maintains the public shell utility and its security model.
Approach
Derive a stable HMAC-SHA-512 key from configured secret GPG material, generate Base36 suffix tags, and verify current and documented compatibility encodings without server-side issuance state.
Verification
A dependency-light synthetic regression suite covers deterministic vectors, compatibility formats, bad input, byte limits, failed key export, color behavior, and the no-OpenSSL implementation. Public CI runs syntax and static checks.
Trade-offs
Short tags are easier to guess, serialized key exports can change, and domain names are validated but are not HMAC inputs. Those boundaries are documented rather than hidden.

Security limit: MailACL does not sign messages, authenticate the human sender, prove delivery history, prevent forwarding, or replace mail-server access controls. A matching truncated tag proves only consistency with the configured secret-derived key at the selected tag length.

BashPythonHMAC-SHA-512GnuPGRegression testingSecurity documentation

Open source · Focused shell utility

Proxmox VLAN SSH Config Generator

A compact utility that turns one predictable local convention into repeatable SSH configuration.

View source
Problem
Hand-writing similar SSH host entries after provisioning guests was repetitive and made address or identity-file transcription errors easy.
Constraints
The utility was intentionally narrow: it targets a personal naming convention where key filenames and guest identifiers map predictably to addressing.
Role
Authored the shell utility and its public usage documentation.
Approach
Scan conventionally named key files, derive the expected address from each identifier, sort records numerically, and generate a minimal SSH configuration rather than operating a larger service.
Verification
The public script passes shell syntax checking. An isolated synthetic run reproduced the documented mappings, preserved the previous file as config.bak, and wrote the replacement with mode 0600.
Trade-offs
The current public version rewrites the full SSH config, assumes trusted and correctly named key files, and does not provide transactional validation. It is a focused personal utility, not a general configuration manager.
BashOpenSSHProxmoxDeterministic mappingSmall-tool design

Personal infrastructure · Owner/operator

Self-hosted systems platform

A sanitized operational case study spanning Linux services, virtualization, segmented networking, observability, backups, and self-hosted AI workloads.

Related skills
Problem
Run varied personal services reliably on finite hardware while keeping failures understandable, changes reversible, and sensitive management details private.
Constraints
Limited hardware, shared resources, mixed workloads, privacy requirements, and the need to recover without depending on an undocumented one-off fix.
Role
Designed, operates, maintains, documents, and recovers the personal platform. This is hands-on personal infrastructure, not paid enterprise employment.
Approach
Use Proxmox virtualization, Linux guests, containers, ZFS-backed storage, segmented networks, pfSense, WireGuard, DNS, reverse proxies, monitoring, health checks, backups, and scoped automation.
Verification
Validate service and proxy configurations before reload, use endpoint and health checks after changes, test backup and restore paths, inspect logs and resource state, and keep explicit rollback instructions.
Trade-offs
Self-hosting provides control and deep operational practice but creates maintenance responsibility. Generic diagrams and public summaries intentionally omit private topology and access details.
Simplified personal platform flow from users through secure access to segmented Linux services, shared compute and storage, with monitoring and backup checks across each layer.

Public-safe conceptual view only. It does not show real addresses, hostnames, routing rules, management endpoints, or access procedures.

LinuxsystemdProxmoxContainers & VMsZFSpfSenseWireGuardMonitoringBackupsGPU workloads

Professional employment · Confidentiality-safe summary

Remote troubleshooting and technical communication

Helping field appliance technicians move ambiguous service calls toward an evidence-based next step.

View experience
Problem
Field technicians sometimes reached a point where symptoms, test results, service information, and possible repair paths did not point to one obvious answer.
Constraints
Remote-only visibility, time pressure, incomplete information, equipment variation, customer impact, and employer confidentiality.
Role
As a Virtual Repair Solutions Technician at TransformCo, supported field technicians by phone and through case and collaboration tools.
Approach
Clarify the symptom, separate observed facts from assumptions, identify the highest-value next check, interpret the result, compare practical repair options, and communicate the reasoning clearly.
Verification
Use the technician's follow-up observations, service information, repeat checks, and the behavior after the selected action to decide whether the call can proceed or needs a different next step.
Trade-offs
Remote support cannot replace measurements or inspection at the equipment. The goal is not false certainty; it is a clearer, safer, better-supported decision with the uncertainty made explicit.
Remote supportFault isolationTechnical communicationServicePowerAvayaMicrosoft Teams

A useful next step

Ask about the reasoning, not just the tool list.

I am happy to discuss these projects, the limits I would address next, and how the same troubleshooting habits apply to support and operations work.