Hi, I'm Cathal. I really like backend development (cloud native applications especially)
and I love to push myself and learn new technologies and tools through new projects
like with two of my most recent projects,
Req and
Fellowship Wrapup
(both of which came first in their respective competitions).
My favorite project is Neo, a distributed system I developed for my final year project.
Developing, maintaining and monitoring a distributed system was great craic.
Although the project is no longer being hosted a static snapshot
showcasing all of the core features is available. My overall grade for Neo was
90%. Read more about in the projects section below
Outside of programming I'm big into techno. Click here
for a random whopper.
Generate an indepth analysis of your friend network on Steam to see exactly
what kind of friends you have or find the shortest distance between two steam
users. This project was my NUIG CS&IT Final Year Project 2022.
Neo is a distributed system deployed across 9 servers with three main microservices
written in Go. Listed below is the supporting infrastructure:
So I'm standing there at Charlie Byrnes looking for some new book. I pick one up and all I can
go off of is the blurb on the back and maybe the picture on the front. Not something that I like
doing. Looking up the book on GoodReads takes too long since my data there is always horrendous.
To fix this I've made this little application. I scan the barcode (which is the ISBN) and the backend
then queries GoodReads and sends back a tiny response with the key points that I want to know
(genres and overall rating etc). No data is wasted on loading UI, js frameworks or images that
I don't care about and I can therefore query more books faster. It also visually highlights
the genres that I love and the ones that I hate
I use GoodReads for my book reccomendations and I buy my books mostly from TheBookshop.ie. I made this project to be able to
automatically check if books on my "shopping list" are available on TheBookshop. view a static snapshot here
Req is a real life based betting app made to enable anyone to bet on anything. With
geolocation being an integral part of the app bets can be locked to users within
certain areas which incentivizes people to go out and get some fresh air. This was
my first group project and I acted as the project lead. The following was my
contribution:
Email alert service (authentication and newsletters)
A summary showcase of all your contributions made as a graduating gift
from the MLH Fellowship! I came up with the project idea and worked on
the backend. My team of 4 students made this project during the MLH
halfway hackathon
Backend uses a Go web server powered by Gmux and utilises the
GitHub GraphQL API for fetching data. Frontend uses Nextjs for
rendering and Vercel for hosting. Service is currently hosted on
GCP
A discord bot interface for the popular howdoi python cli tool that serves instant
coding answers via the command line. This project was made for the initial MLH
Fellowship hackathon. Powered by Flask on the backend for handing queries and
hosted on Heroku. Uses some light regex for parsing of queries before passing
it onto howdoi. The bot can be invited to any discord
A chrome/firefox extension designed to manage online browsing workspaces.
Create snapshots of all active tabs to save for later viewing. One of my
favourite projects as it solved a real life problem of keeping track of
browsing sessions that I wanted to come back to at a later date. Utilizes
chrome's sync storage to sync the saved snapshots across all chrome
browsers a user is signed in to.
This feature is officially supported now in Firefox when browsing bookmark folders
Built my first flutter app as a means of keeping track of
things such as who's hosting on the college server and the
status of one of my scraping scripts from my phone. Golang
API used to compile and serve the information
I did analysis of the userbase of the popular exam related website studyclix.ie,
compiled the stats of all the users and compared them to the average student
based on official SEC (State Examinations Commision) data.
A program to parse and provide search functions for a global database
file on airports. I am using the data from OpenFlights which has over
10,000 entries. Each entry has 14 data points that range from name and
ICAO code to it's exact coordinates.
I took this on as my end of year C project to strengthen my knowledge
of memory allocation, use of structures and apply my work to some real
world data to do something interesting.