James Euesden

I graduated from Aberystwyth University, Wales with a first-class honors bachelor's degree in Computer Science, in June 2016. My university and side projects can be seen over on my GitHub page. I opted to do an industrial year as part of my course as a software engineer intern for ASOS.com, most notably on their product recommendations API for mobile and desktop as part of an 8-person team.

The API was built using windows stack technologies (C#, TFS, Windows Azure) and SQL. The projects I worked on were taken from start to release using agile processes (Extreme Programming and Scrum), with the focus on testing, communication, knowledge sharing, maintainability, scalability and teamwork.

I also spent time during my first and second year at university as front-end web developer for a small company that provided CMS utilities for schools and small businesses: School Spider/Fudge Technical, examples of which can be seen here. Most of what I did was working with HTML, CSS, a little bit of JavaScript and PHP and communicating with the clients and web designer.

My key development experiences include:

  • Object oriented programming (Java, C#)
  • Agile development practices, including Scrum and Extreme Programming
  • Testing and QA (Test Driven Development, Unit, Integration and Functional Tests)
  • Common design patterns and good coding practices
  • Web development (HTML, CSS, JavaScript, Spring with Thymeleaf, Ruby on Rails)

I like working in teams, building something great that I can really feel strongly for, whether it's an in-house tool or a service to provide to customers. I'm more than happy to get on with my own thing and self-motivate too! When I'm not developing or out exploring my new home of Edmonton, I use some of my free time working with Manga Studio, using a Wacom Cintiq to create digital art. Being creative, whether coding or in art is something I feel passionate about.

Visit my GitHub or click on the image of each project to see the files for these works (where available). Below are a number of projects I have chosen to highlight.

Notable Projects

A screenshot of the ORF results page of Khimeta.

Khimeta - Metagenomic Quality Toolkit

My major project at university; Khimeta, a toolkit for reporting on the quality of metagenome assembly data. The tool aims to read a users input (in FASTA format) and report back to them on whether the contig information within their data is of good or bad quality.

The output report provides a user with results views so they can see for themselves where there may be potential issue areas within contigs and highlight potential chimeric regions. This is done through GC content values in windows, ORF finding, displaying data about the users file and comparisons between the GC content and ORFs.

Khimeta was built using Java, hosted as a web service using the Spring framework with Tomcat, HTML pages dynamically built on request with Thymeleaf and displaying results with JavaScript, Plotly.js and HTML5 Canvas. The project was taken from the beginning to end using a slimmed-down version of Extreme Programming and the Scrum framework for a one-person project.

The ASOS.com logo, credited to ASOS.com

ASOS.com Recommendations API

During an industrial year internship as a software engineer with ASOS.com, I worked in an agile team of 8-9 to build a new Recommendations API for their mobile app and desktop website. This was developed using the Windows stack with Windows Azure, SQL and C#, version controlled in TFS and released to live during my time with the company. In the team we worked using test driven development, daily stand-ups, sprint planning, pair programming and more agile practices.

The ASOS.com logo belongs to ASOS.com.

A screenshot of the Sun, Earth, Moon virtual system.

Sun, Earth and Moon - Virtual System

A model developed using three.js for demonstrating a model of the Sun, Earth and Moon system (not accurate nor to scale). The application can be seen here.

The model features changeable parameters, an elliptical orbit of the Moon around the Earth, constant tilt of the Earth and Moon's axis and shadow casting when there is an Eclipse.

Screenshot from the Catzeau game

Catzeu The Hungry Cat Game

A HTML5 game made with Canvas and Javascript. Play the game here. You play as a hungry cat taking food from a table, using Left and Right mouse buttons (or Left and Right arrow keys). You must eat the good food (alternate clicking) while knocking away the bombs and weights (click the same button twice in a row). Make sure not to click to eat something when the creepy Watcher is watching you.

The game came from being challenged to create a HTML5 game using only Javascript and Canvas and using left and right mouse clicks. I realized that if a user could use left and right clicks, then it could work well as left and right hands (or in this case, paws), where there was a difference between alternate clicking (eating) and double clicking (knocking away). It resulted in a bit of a silly game, but I had a lot of fun designing, writing the code and drawing the images used.

Isometric map

Isometric Tactics/RPG Game Prototype

AI and search algorithms caught my attention during my first year. I wanted to try and implement a 'Tactics'-like game in Java, just to experiment with loading in sprite sheets, traversing a map using A* Search and work with Java outside of my course.

This is a long term project of mine and is still being worked on. The end result with have Player vs AI games, using a number of Agents to try and defeat the opponent, where each Agent has its own individual skill set.

Animation Suite

Pixel Animation Suite

The task was to create a basic 'Animation Suite' for a software engineering assignment focusing on using the MVC framework. It had to load in correctly formatted .txt files, allowing a user to edit individual frames, play as an animation or make new animations, using 3 colours.

I decided to take this a step further, giving the user a range of 36 colours, three tools (Pencil, Paintbrush, Spill can), a preview of each frame in the animation, multiple play back speeds and more. I learned a lot through the project, and am proud of the end result.

Sudoku Solver

Sudoku Puzzle Solver

As part of a university assignment, I was provided a set of Sudoku puzzles and told to write a program that had a solid data structure, maintainable code and a couple of algorithms to solve the basic puzzles. I implemented this using arrays, LinkedLists and well known Sudoku solving techniques. To help a user see what was happening, I created a basic GUI displaying solved cells, starting cells, potential candidates and the last 'move' taken.

School Spider - Examples

School Spider is a Content Management System and Virtual Learning Environment for Primary schools. I build the structure of the website (HTML, CSS, some JavaScript and PHP) to sit on top of the CMS, based upon designs made by our designer. If the client has a previous website and they wish to preserve the content, I also migrate the old data to their new website.

Ash Grove

Scholar Green


Ash Grove Primary School Screenshot Scholar Green Primary School Screenshot Highfields Primary School Screenshot

Fudge Technical - Examples

Fudge Technical is much the same as School Spider, but for organizations rather than just schools. I discuss with clients any changes they wish to be made and often get designs and content directly from them.

Focus on Food Screenshot

Focus on Food

Contracted by another agency to develop the website to sit on top of a CMS for 'Focus on Food', a company specializing in promoting and teaching healthy cooking and eating. I designed the structure of the site based on original designs from the agency, and updated this structure any time a modification was requested by the client. Upon completion of the structure, the project has been passed to another developer to implement the CMS using my framework.

Vittoria Pani Foundation Screenshot

Vittoria Pani Foundation

A website dedicated to the Vittoria Pani Foundation charity for improving awareness about pancreatic cancer. The website has translations for English, German and Italian, which can be switched instantly for the current page the user is on, using different PHP files containing the text for each individual section and storing the users session ID.

Subscribe to RSS headline updates from:
Powered by FeedBurner