A greyscale profile picture of Stephen Bull

Hello! I'm Stephen, a polyglot software engineer, tinkerer and innovator. I've worked across multiple industries within the U.K. and U.S. including defence and other government entities, healthcare and finance, developing everything from custom GIS solutions to backend data interfaces for sensitive data, hardware control software, 2D simulation software, and more recently web-based 3D solutions.

I've also prototyped novel human-robot interaction (HRI) interfaces using commodity hardware, and created inverse kinematic solutions that work seamlessly between simulation and physical hardware.

So what am I working on now?

I am currently developing a web-based interactive visualisation platform for data driven content creation, realtime group collaboration and sharing, built upon web technologies for maximum reach with minimal requirements.

Why interactive visualisation?

Visualisation helps distill complex ideas and data into a simple form that bridges the gap between experts and non-experts alike. Interactive visualisation and simulation adds an additional level of engagement for your audience, deepening their interest and understanding of the subject matter. This visual approach lends itself to fun and informative data driven storytelling.

Interactive Demos

Small image for Ubiquity, a platform for creating web-based 2D/3D data visualisations


Ubiquity is a platform for creating web-based 2D/3D data visualisations and 'storytelling' with realtime group collaboration and sharing at the flick of a finger.

Software is in a pre-alpha stage of development. Assets are hard-coded and functionality is incomplete.

Small image for an interactive 3D visualisation of simple DNA unzipping

3D DNA Unzipping

An interactive 3D visualisation showing simple DNA unzipping.

Small image for a demo simulation called inverse kinematics

Inverse Kinematics

Common to most inverse kinematic (IK) algorithms is the trade-off between computational complexity and natural motion.

This is a 2D interactive visualisation of my computationally inexpensive IK that also produces organic and natural looking results.

Placeholder image of a 3D cube for a demo simulation called 3D inverse kinematics

Inverse Kinematics 3D

Still to come, a 3D interactive visualisation of my inverse kinematics.

This uses the same computationally inexpensive IK algorithm as demoed in 2D; the underlying code already calculates for 3D results.

Note: 3D vis dev is currently on hold due to other project workloads.

Small image for a demo simulating a simple connectivity method in a multirobot system

Multirobot Connectivity

Compared to complex single robots, multirobot systems are more fault tolerant and robust due to mechanically simpler and inexpensive individual units.

This is a 2D visualisation of my wireless connectivity chain formation in an ad-hoc multirobot system.

Small image for a demo simulation called follow leader

Follow Leader

A follow the leader demo with behaviour evolved from a genetic algorithm.

Current Tech Stack

JavaScript • Node.js • WebSockets • WebRTC data channels • Three.js • Tween.js

Amazon AWS configuration with: Amazon EC2 (Linux instance) • S3 • Route 53 • CloudFront

And on the horizon: ML • WebAssembly (with C/C++/Rust)

Contact Me

If anything you see here piques your interest, please feel free to connect with me via LinkedIn (mention this website visit!) or by email:

info [at] stephenbull [dot] dev