Peter Ward

Projects

Six technical projects, from self-hosted infrastructure to web applications and desktop tools.

Self-Hosted Network Infrastructure

2026, ongoing

Problem

Running a private server with no public exposure, with all outbound traffic forced through one controlled gateway.

What I built

A two-node private network, designed and deployed from scratch. The gateway node runs a WireGuard VPN with an iptables kill-switch, a Tor transparent proxy and NAT routing. The server node runs under LUKS full-disk encryption, unlocked over SSH through Dropbear in the initramfs; it has zero public exposure and routes all egress through the gateway.

On top of this sits an asynchronous Python service, using aiogram and the SQLAlchemy async ORM, with PostgreSQL 16 and Redis 7 running in Docker and managed under systemd. A separate alerting service subscribes to Redis pub/sub.

Technologies

Kind Organisation — AI-Assisted Consultation & Quoting Platform

2026, in development

Problem

Turning a client consultation form into tailored organising recommendations and an itemised quote, using live product data.

What I built

A full-stack web application for a home-organising consultancy, built on Next.js and Node.js and deployed to Vercel as serverless functions. It uses the Claude API to generate tailored organising recommendations from a client consultation form, pulls live product data from a Google Sheets backend via service-account authentication, and produces itemised client quotes.

Supporting work includes a caching service layer, a CSV import pipeline with schema validation and fuzzy column matching, and a product catalogue of 44 SKUs mapped across suppliers, materials and dimensions. The application is architected with separated UI, API and data layers.

Technologies

Scalewise — Pricing & Margin Desktop Widget

2026

Problem

Turning one wholesale unit cost into a resale price for every sale size, and re-pricing the whole range when supplier costs change.

What I built

A native KDE Plasma 6 widget. A tolerant unit parser handles mixed fractions and multiple measurement systems, with validation and rollback on input it cannot parse. Price and margin can each be calculated from the other, across two pricing modes, fixed-price and target-margin, with lossless conversion between them.

Rounding is configurable, and the widget reports the margin actually realised rather than the margin requested. It is packaged as a distributable plasmoid with a unit test suite and a versioned build pipeline.

Technologies

SharedOS — Shared Cloud Development Environment

2026

Problem

Two collaborators needed to work against the same environment and toolchain without each maintaining a separate local setup.

What I built

A Hetzner VPS provisioned as a shared remote workstation, providing persistent Linux and Windows desktop sessions accessible from any machine. I configured remote desktop access, user isolation and shared project storage.

Technologies

Budget Gauge — KDE Plasma 6 Desktop Widget

2026

Problem

Forecasting available budget from UK payday and BACS credit dates, across different payment cycles.

What I built

A native desktop widget for KDE Plasma 6 that models UK payday and BACS credit dates to forecast available budget. It handles monthly, weekly and four-weekly payment cycles, with date-boundary logic for payment-day edge cases.

Technologies

Linux System Management Toolkit

2025–2026

Problem

Keeping changes to a Debian 13 workstation staged and reversible, rather than relying on ad-hoc configuration.

What I built

A structured script repository for managing a Debian 13 workstation, in which system changes are made in stages and can be reversed.

Technologies