Hi!
I'm John

I'm a multidiscipline software developer based in South London, UK.
I've made desktop applications, mobile apps, websites, games, and graphics programs.

Contact

About me

I first learned how to program at around age 10, when I first got introduced to Flash and Actionscript. I've now been programming for 20 years, and have worked in a wide range of areas.
I worked as a lead developer at Acturis for a long while, where I developed C# software using WPF and .NET.
I started working as a solo developer in 2021, and have produced web apps, games, and mobile apps.

Tech blog

Projects

WPF
C#
.NET
Unity
Typescript
Javascript
HTML
CSS
Kotlin
Xamarin Forms / .NET MAUI

Flowgrammer

Flowgrammer (name likely to change) is a prototype visual scripting language aimed at teaching children and adults programming concepts.
Drag and drop scripting "blocks" and connect them together to create small procedures and methods.
It's connected to a small 2D physics engine (using matter.js), which users can control via the scripts they build.

Flowgrammer Blog post
Thumb Blocker

Thumb Blocker

Thumb Blocker Launcher is an Android home screen launcher app that aims to stop phone addiction.
Small tasks and "delayers" are set by the user in order to make opening addictive apps more difficult and more of a chore.
Thumb Blocker Launcher is developed using Kotlin and Android Studio. It is currently in beta on Google Play.

Request beta access

MuuRadio

MuuRadio.com is a peer-to-peer music-based chatroom web-app. Users set up little chat rooms which they can upload their MP3 files to, and listen to music together at the same time.
Made using typescript, webtorrent, peer.js, bootstrap, and cloudflare workers.

Muuradio Blog post
MuuRadio

Evaze

Evaze is an abstract 2D Arcade-Puzzle game, made in Unity.
In Evaze, the player navigates a malleable labrynth - at any point a tile can be slid in and push all the other tiles accross, in order to create new routes to orbs and to block off enemies.
Evaze is a casual puzzle-action mobile game. It can be downloaded for both Android and iOS.

Blog post

Dash Foss

I made a lightweight open-source third party tumblr dashboard cross-platform application called "Dash Foss".
It's written in C# using Xamarin, and uses the official tumblr API to show posts, videos, comments, etc. You can view your timeline, other people's blogs, posts you've liked, and post replies.
It does not show ads, recommended posts, blazed posts, tipping, or other negative feaures built into the first party app.

Github repo

Other projects

Some smaller projects I've worked on in my spare time

Roamer

Roamer is a game worked on solo during the coronavirus pandemic. It is a moody and atmospheric 3D stealth/puzzle/adventure game.
I worked on all areas, including all programming, designing, 3D modelling, texturing, rigging, procedural animation, enemy AI, effects, audio generation, and writing. It was developed in Unity, using URP, Shadergraph and Blender. It is currently shelved while I work on other projects.

Two Player

Two Player is a short single player video game about the social complexities of playing couch co-op video games. It includes multiple endings and branching dialog, which is controlled based on the choices you make in a in-game first-person-shooter, and shows how these choices affect the real life social situation you are in.
It was named in Game Curators' Game Of The Year 2020: Game Jam Edition list, and was also featured in Alpha Beta Gamer and Warp Door.


"Two Player is a short, but sweet and oddly emotional little game that helps recreate fond (and some not-so-fond) memories of playing a bit of co-op with a friend. It’s a fun little game with charming dialogue and multiple endings to discover" - Calum Fraser of Alpha Beta Gamer
Two Player was created as part of the 7DFPS Game Jam. It was made solo, using Unity and Doodle Studio 95.

Play Two Player

Experimental rendering

A pass-time I enjoy is to experiment with new rendering techniques, usually with Unity's shadergraph or via HLSL/GLSL shaders.
These experiments have included grey-scott reaction diffusion techniques, "slime mould" rendering systems, and other novel methods.

Blog post
Artwork

Artwork

I've illustrated and drawn comics since being a teenager, normally using ink and watercolour paints. During university, I was a regular editorial cartoonist for the student newspaper.
I occasionally upload the contents of my sketchbook to instagram

Instagram