Skip to content
2E0JWR
Station 2E0JWRIO93ge

I build infrastructure.

IT infrastructure engineer, cyber-security student and licensed amateur radio operator. I keep networks, servers and signals online — from the Cloudflare edge to the 2-metre band.

RX Console
Online--:--:--Z
14.07014.07414.078
Signal
RX · 20m bandPWR 100W · IO93ge
Station Telemetry
4+
Years in IT
3
Qualifications
25+
Hosted infrastructure
sites & services
10
Projects shipped
3
Certifications
2
Callsigns held
8
Bands operated
15
Countries contacted
DXCC
01Operator Profile

Hi, I'm Josh.

The operator behind the callsign — engineer, student, founder and radio amateur.

  • IT Engineer.
  • Cyber Security Student.
  • Founder of Gander Web.
  • Licensed Amateur Radio Operator.
Intermediate LicenceCloudflareMicrosoft 365Cyber SecurityLinuxVirtualisation
QTH
Chesterfield, England
Grid
IO93ge
Licence
Intermediate
Company
Gander Web
Signal paths · live
IO93ge·53.2°, -1.5°
Secured
02Operator Record

A timeline of signal & systems

Each station on the line is a milestone. Select one to open the log.

03Capabilities

A constellation of skills

Ten disciplines, one network. Hover a cluster to trace its technologies and depth of experience.

TCP/IPVLANsFirewallsDNSBGPVPN / WireGuardNetworkingCloudServersSecurityProgrammingInfrastructureHostingVirtualisationMicrosoftLinux
Networking
6 technologies
  • TCP/IP6y
  • VLANs
  • Firewalls
  • DNS
  • BGP
  • VPN / WireGuard
04Infrastructure

One network, edge to core

A live topology of the platforms I run — traffic flows from clients at the Cloudflare edge, through a zero-trust tunnel, to a colocated Proxmox cluster and edge compute. Hover any node to trace its role.

Control planeData / trafficSecured tunnel 10 nodes · zero inbound ports
05Flagship Projects

Things I have built

Two of my own and one I contributed to — amateur radio software, mostly, plus the hardware that goes with it.

The QSL automation platform

When a contact is logged in WSJT-X, a card should just arrive. This pipeline turns a decoded QSO into a rendered QSL card in the operator’s inbox — end to end, automatically.

8
Pipeline stages
< 2s
Card render
0
Manual steps
  • Listens to WSJT-X UDP telemetry in real time
  • Validates and logs every decoded QSO
  • Renders a branded QSL card to PDF automatically
  • Delivers to the operator's inbox — zero manual steps
Built with
WSJT-XUDPNestJSTypeScriptPostgreSQLCloudflare WorkersPDFSMTP · DKIM
Data flow live
WSJT-X
Decoded QSO
UDP Ingest
Telemetry stream
NestJS
Parse & validate
Database
Log the contact
Cloudflare
Edge orchestration
PDF Render
Generate QSL card
Email
Deliver to operator
Operator
Card received
Open Signal · v0.22.3 · RX free forever

Pictures over radio, done properly

A digital multimedia protocol for amateur radio — colour pictures, photo files and text over HF and VHF in one self-contained executable, with its own error-corrected waveform and classic SSTV alongside it.

4
Ways to send
6
SSTV families
~5s
Hybrid airtime
1
Executable
  • Its own error-corrected OFDM waveform, plus classic SSTV
  • Six SSTV families, auto-detected from the VIS header
  • Hybrid mode: a link over RF, full quality via the internet
  • A logbook that fills itself and pushes to Wavelog and eQSL
Built with
C# · .NET 8AvaloniaOFDMFountain FECSQLiteCloudflare R2Windows · Linux
The Open Signal Receive screen: frequency and signal readouts above the latest received picture, with the heard list and live band waterfall
ADS-B · 1090 MHz

One antenna, two ways to watch the sky

A receiver here decodes aircraft transmissions off the air. The same feed drives a live page on this site and a small round scope on the desk — nothing here comes from a commercial tracking API.

What I added to microradar
  • Read your own receiver

    A local data source that reads dump1090, readsb, PiAware or an FR24 feeder straight off the LAN — about once a second, no rate limit, no aggregation delay — with automatic failover to a public network when it stops answering.

  • Survives a bad flash

    A board carrying a mismatched partition table used to loop on nvs_open failures until it crashed. It now detects an unusable NVS partition on boot and reformats it once, rather than needing a manual erase.

  • Three WiFi networks

    Remembers three networks and tries each at startup before falling back to the setup portal, so a device that moves between home and a club night doesn't need reconfiguring.

  • Display and setup options

    The scanline sweep, aircraft triangles and info text are switchable from the device's own configuration page, with stored credentials masked when the form is served back.

C++17ESP32PlatformIOLovyanGFXADS-BWeb Serial
06Gander Web

Managed hosting, properly run

The company I founded — managed hosting, cloud and IT services on a security-first Cloudflare stack. This is the live service board.

99.98%
Fleet uptime · 90d
6
Services online
42ms
Median response
Online
Managed Hosting

Fully managed web hosting with edge caching, backups and 24/7 monitoring.

99.99% uptime42 ms TTFB
Online
Ryzen VPS

High-frequency AMD Ryzen virtual servers with NVMe storage.

99.98% uptime5.1 GHz cores
Online
Managed IT

Proactive IT support, endpoint management and helpdesk for SMBs.

99.95% uptime< 1 hr response
Online
Microsoft 365

Tenant setup, migration, security and licensing management.

99.99% uptimeEntra ID SSO
Online
Domains

Domain registration and DNS on Cloudflare's global network.

100% uptimeDNSSEC
Online
Cloud Hosting

Scalable cloud infrastructure with zero-trust access.

99.97% uptimeAuto-scaling
Need hosting or IT that just works?

Managed hosting, Ryzen VPS, Microsoft 365 and domains — on the Cloudflare edge.

07World Contacts

Every signal has a bearing

A live great-circle map. Reception reports for the station are pulled from PSKReporter and plotted in real time — drag the globe, click a spot to inspect the path.

Live link map
syncing
drag to rotate · click a spot
Station You DX & edge
Your link to 2E0JWR
locating…
12
sample paths
8
Edge PoPs
By band
20m
5
15m
2
17m
2
40m
2
10m
1
Longest paths
08Contact / QSL

Let's make contact

Whether it's infrastructure, a hosting project or a sked on the bands — the log is open. Here's my digital QSL card.

Amateur Radio Station
2E0JWR
Josh · IO93ge · Intermediate · ex M7ROR

The QSL card — the final courtesy of a contact. Confirming 73 from the edge to the ether.

Flip →
Station details← Flip
Callsign2E0JWR · ex M7ROR
GridIO93ge
QTHChesterfield, England
Emailjoshuaw@ganderweb.co.uk

I'm always up for talking infrastructure, security, cloud — or antennas and propagation. Email is the quickest way to reach me.

Callsign
2E0JWR
Grid
IO93ge
Licence
Intermediate
QTH
Chesterfield, England
73 de 2E0JWR