Exemplary RealWorld application built with Haskell + Yesod

Haskell/Yesod codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API. A part of a bigger project that implements a blogging platform and is built in many different languages in both the frontend and backend that you can mix and match together.

Suitability of Functional Programming Concepts for 3D Game Engine Development in C++

Honours Final Project in Computer Games Software Development

The goal was to investigate how practical it is to combine functional programming principles with traditionally imperative language in development of 3D game engines. I've implemented a limited 3D game engine in a subset of C++ following selected functional programming principles, together with an imperative implementation with equal capabilities for comparison. I've evaluated these by developing a demo with identical specs for both version.

TodoMVC example app with elm-ui

A TodoMVC implementation which offers the same application implemented using MV* concepts in most of the popular JavaScript MV* frameworks of today, built using Elm library elm-ui.

Real-time Interactive Installation

Collaboration project

In this installation you can control the view and the character with full-body Kinect Camera montion sensor. Built using Unity engine.


Quarter Brain

A browser game made during a game jam "Jamming 4 Small Change 2012". A weekend event taking place at the Glasgow Caledonian University, organized to make games for young carers, not just the fun of it! The games were intended to help young carers escape the responsibilities of their roles for a while, allowing them to unwind and socialise. Built using HTML5 with JavaScript and Box2D.



Student collaboration project

Student life simulation game designed to help reduce stress, built using Unity engine.



Student collaboration project

A 2D platformer game built in C++ using Box2D physics engine and Tiled Map Editor.



A Windows Phone 8 game built using Box2D physics engine controlled with motion sensors.