[Development]

I've been writing code since the age of 14. Throughout my BSc, MSc and PhD studies, I supported myself by being a self-employed software and web developer, as well as by working for a number of companies. I was a part of teams two to ten people large, and have worked both in a standard office environment and within remote teams distributed across the world. I also have experience of being a sole developer and taking responsibility across all stages of a project.

My roles included being a developer in around ten different programming languages (from HTML to C++), a systems architect, a project manager, a R&D project supervisor and a graphic designer. I also worked on a number of games in my free time, which helped me to understand the importance of product design and sensible marketing. I also use coding extensively in my research, especially C++ for writing simulation and robot code, and Python for data analysis.

Selected work-related projects

Novelty detection with robots using the Grow-When-Required Neural Network

Simulation models C++ Bash script The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS...

Fast Data Analysis Using C++ and Python

Python Data science C++ Bash script C++ code that processes data and makes it available to Python, significantly improving the...

Motosu: The Content Management System

Web Bash script Motosu is a Content Management and a Web Hosting System that takes on Word Press by giving users...

Cab My Ride Taxi Service

Objective-C Mobile Applications CabMyRide is a taxi company that takes on Uber through offering intuitive mobile phone application...

pyCreeper

Libraries Data science The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs...

Creeper

Multi-agent systems Libraries Java Games AI Creeper is a Java MVC framework for those who want to create multi-agent simulations (or games) and...

Selected spare-time projects

The Hive Mind

Games Flash AI The Hive Mind is a sci-fi puzzle game about insect-inspired construction with robots. The player...

Stardust Colonies

Games C++ AI Stardust Colonies is a strategy game in which player-controlled units are aware of and affected by...

NXC UserInteraction Library

Robots Libraries Lego Mindstorms The User Interaction (UIn) Library helps you create standard user interfaces (multi-line aligned...

NXTPong

Robots Lego Mindstorms Games A custom-built lego machine for playing pong, featuring two controllers connected to the Mindstorms...

pyCreeper

The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.

Fast Data Analysis Using C++ and Python

C++ code that processes data and makes it available to Python, significantly improving the execution speed.

Designing Robot Swarms

This project looks at the challenges involved in modeling, understanding and designing of multi-robot systems.

Robustness in Foraging E-puck Swarms Through Recruitment

Swarms of five e-puck robots are used in a semi-virtual environment, facilitated by the VICON positioning system. Recruitment can make swarms more robust to noise in robot global positioning data.