{ Cathal Coffey }

Hello and welcome to my webpage. Here you will find my contact details and a list of my personal projects.

As a computer scientist or more importantly as a geek, I have worked on many interesting and personal projects over the years. In a way, this website outlines my skills and interests.

If you are interested in any of my work, I encourage you to please contact me.


DocX is an opensource .NET library written in C#. It allows developers to programmatically create and/or manipulate Microsoft Word (2007 & 2010) files, in an easy and intuitive manor. DocX does not require any version of Microsoft Word or any external libraries to function. It is therefore ideal for batch processing large collections of documents in a server environment.


ProjectEuler is an Android application that connects to projecteuler.net. It displays a users progress, allows a user to solve any problem and provides full offline access to the complete list of ProjectEuler questions. I built this app because in my first week of being a Eulerian, I became really addicted to the website. I was trying to plan the next problem each morning during my bus ride to work. I even ended up printing the first 50 questions. So I wrote this app to make it easier for me to keep track of my progress, to help me plan my next problem and to save trees.

This app uses ActionBarSherlock and ViewPagerIndicator two opensource projects provided by the brilliant Jake Wharton. Thanks to Jake, my project Euler app is backwards compatible as far as Android 2.2.


NUIM WiFi is a free Android application that automatically logs you in when you join the NUIMWireless network. This means that you will never again be redirected to the login page and asked to enter your student number and password.

Important: NUIMWiFi is not an official NUI Maynooth Android application.


PocketBank is an Android application which provides a single interface to all of the major Irish banks online banking services. PocketBank currently supports AIB, UlsterBank and BankOfIreland. It works by securly logging into each banks website. PocketBank is extremly security conscious. It only ever communicates to a banks website using HTTPS. It requires the user to provide a strong password on installation. It encrypts all user data by following the current standards for private key cryptography.


SmartGates is an Arduino project which lets you open the gate of your house, apartment or garrage using your smartphone. Once it is setup, your smartphone simply makes a web-request to an Arduino which emits the specific open code that your gates responds to.


sql4csv is an opensource Python library that offers an SQL “like” interface for .csv files.

Arcade Machines

To date, I have been involved in the building of 3 arcade machines. My role in the building is mostly software design but I usually also contribute to woodwork and the overall cabinet design.


This project was submitted in partial fulfilment of the requirements for a Single Honours B.Sc. in Computer Science and Software Engineering. The project brief was to develop a real-time, minimal calibration hand tracking engine.

If your thinking “Why didn’t you just use Microsoft Kinect/Natal”? The answer is this project was undertaken before Microsoft first demoed Kinect/Natal. Secondly one of the major goals of this project was minimal hardware. We tried to achieve accurate tracking using a single, standard 2d webcamera.


The quadcopter has been one of my most exciting and challenging projects to date. This project is still very much a work in progress, infact I only recently managed my first stable flight.


FollowMe is a tracking application, built using the Android and i2maps frameworks. FollowMe is comprised of two parts. A smartphone application built using the Android framework and a webpage built using the i2maps framework.

FollowMe was used (with great success) to track the GalwayCycle 2010. The GalwayCycle is a 200km charity cycle, from Maynooth to Galway, which takes place every year in Ireland. A map was used to display the entire cycle route, the groups current position and photos as they were taken by the tracked mobile phone.