I build systems from the ground up, hardware to software — AI workflows, terahertz rigs, embedded firmware, medical AR, computer vision, mobile apps, 3D simulation and computer graphics.
Terahertz characterisation of printed-ink electronics
needed precise, repeatable sample positioning — but
commercial scanning rigs weren’t built for the tight
mounting space or specialised imaging the work required.
Built
Custom conveyor/scanning rigs driven by Arduino (C/C++) —
including a 2D scanner repurposed from salvaged CD-ROM
drive motors for near-field imaging, and a compact 1D
conveyor sized to fit inside TeraView’s spectrometer.
Impact
The CD-ROM rig produced the near-field THz images behind a
peer-reviewed paper (Organic Electronics, 2017); the 1D
conveyor was field-tested on TeraView’s own spectrometer
in Cambridge.
Touch interfaces are typically flat, rigid and expensive. I wanted a
cheap, customisable cylindrical touch surface — one you could
grip like an instrument — with no electronics embedded in the surface
itself.
Built
An optical sensor using frustrated total internal reflection: six blue
LEDs (chosen after RGB histogram analysis showed red light scatters
most and destroys contrast) flood the tube with internally reflected
light. A touch changes the critical angle at the acrylic–skin boundary
and leaks light, which a ball-bearing mirror bounces into a webcam. A
real-time pipeline thresholds the red channel and segments the frame
into a 3×3 grid — the centre cell masked against the tube's permanent
axial reflection — mapping touch to musical pitch radially, volume
axially, or x/y for graphics control.
Impact
Peer-reviewed and published at IEEE Cyberworlds 2015 (with Prof. Nigel
John). Total build cost ~£25 using a 3D-printed LED ring and
off-the-shelf parts. The same optical principle has since been applied
commercially to grip-pressure sensing in aviation.
Image-guided procedures like lumbar biopsies force
clinicians to look away from the patient at a monitor — or
wear bulky AR headsets. Guidance and anatomy needed to
appear directly on the patient’s skin, without
interrupting the procedure.
Built
A projector–camera AR system in Java and OpenCV:
infrared marker segmentation, real-time patient and needle
tracking, registration of CT scans and 3D anatomy onto the
lumbar region, and automatic colour-contrast adjustment
against skin tone. Diagnosed a previously unreported
projector–camera “multi-mirror” feedback
effect — and cancelled it using near-infrared capture.
Impact
First-author peer-reviewed paper in the Journal of WSCG,
2016, with requirements gathered from practising
clinicians — demonstrated live tracking, registration and
1:1 anatomy projection onto mannequins and people.
A Welsh-medium primary school in Bangor was demolished in
2021 — with no floor plans or architectural records
surviving anywhere in the council archives. As its 50th
anniversary approached, the building risked being lost to
memory.
Built
A free bilingual website with a floor plan redrawn from
memory (Inkscape), a full 3D model of the building
(Blender), and a first-person walkthrough built in Godot
and embedded to run right in the browser.
Impact
Gave the school’s community a living digital memorial they
can walk through online — old class photos hung on the
recreated walls — preserving a piece of local Welsh
heritage as a free gift.
Post-surgery patients were sent home with paper exercise
handouts that were easy to skip — and clinicians had no
way to see whether the rehab was actually being done.
Built
An Android app (Lua / Corona SDK), built with orthopedic
consultants, that turns hand-rehab into guided, game-like
exercises with real-time finger-motion tracking and a
progress dashboard.
Impact
Replaced static handouts with interactive therapy that
motivates patients to keep going — and gives clinicians
real progress data, with optional secure sharing back to
providers.
I wanted real-time, motion-triggered camera monitoring —
without paying for expensive software or dedicated kit,
and running on an ageing 2012 MacBook Pro.
Built
A C++ app (OpenFrameworks + OpenCV) that uses
frame-differencing and OpenCV blob detection to flag
movement, draw a box around it, and auto-save snapshots —
with a simple GUI for brightness, contrast, sensitivity
and object-size limits. Frame-differencing was a
deliberate pick: light enough to run smoothly on the old
laptop.
Impact
Turned a spare old laptop into a free, working
motion-capture tool — used as a simple security camera
outside the house, and as a hobby sky-watcher for catching
fast-moving objects overhead.
Call agents needed to build muscle memory for the keyboard
shortcuts used during live directory enquiries calls —
with no engaging way to practise.
Built
A Godot game where a caller’s request must be parsed into
keyword fields using F-key shortcuts against a countdown —
built on Godot’s signal system for a modular design.
Impact
A working end-to-end prototype that turned
shortcut-drilling into a timed, scored game — proving
game-based simulation as a practical workplace training
tool.
A Haptics-enabled Simulator for Transperineal
Ultrasound-Guided Biopsy
Ritsos, Edwards, Shergill, John
EG VCBM · 2015
2015
Towards a High Fidelity Simulation of the Kidney Biopsy
Procedure
Henshall, Pop, Edwards, ap Cenydd,
John
IEEE VR · 2015
2015
Feasibility study of a cost effective method for needle
tracking
UKRC · 2015
2014
Force Sensitive Embedded Glove to Measure Axial Needle Forces
during Transperineal Prostate Biopsies
Edwards, John, ap Cenydd, Shergill
EG VCBM · Vienna 2014
2014
Metacarpal Thumb Joint Measurement and Rehabilitation with
LeapMotion
Edwards, John, Jesudason
EG VCBM · Vienna 2014
About
I build systems from the ground up — from hardware to
software. That includes custom firmware and circuit boards for
scientific instruments, computer vision tools, mobile and desktop
apps, interactive 3D for the web, and the backend and AI pipelines
that tie it all together.
I hold a PhD from Cambridge, with published research in terahertz
instrumentation, and years of hands-on experience creating tools and
apps that work reliably in the real world. I care about the full
picture — from understanding the user’s needs to
delivering solid, deployed code.
A lot of my work supports real people and local businesses: a
rehabilitation app developed with orthopaedic consultants, a free
booking app for a Bangor salon, and a 3D memorial for a demolished
school. As an independent contractor working remotely, I enjoy
bridging hardware, software, and science for teams that need someone
who can move comfortably between all three.
Contact
Open to remote contract work. The fastest way to reach me is below.