Hello!

I'm Robin, and I like building things with code.

a picture of me

So, who is Robin?

I'm a full stack engineer. After spending almost 10 years teaching Maths and Economics in Bristol, I decided it was time to step into something new, so jumped into the iO Academy Full Stack Track bootcamp which I absolutely loved.

My maths background lends itself to backend engineering, but I am also interested in visual design and accessibility, and I want to try all aspects of development.

Here are a few technologies, methodologies and frameworks I have been working with recently:

  • PHP
  • MySQL
  • OOP
  • Slim
  • Javascript
  • Typescript
  • React
  • Node.js
  • Bootstrap
  • HTML/CSS

Explore what I've done so far....

Dream Catcher

A picture of the splash page for the dream app.

A web app for storing dreams. I set up a form that made POST requests, and handled them on the backend with MySQL queries to update rows on the database. I tested it with PHPUnit, and ensured it was not vulnerable to SQL injection, in addition to validating and sanitizing the data going in to the database.

  • PHP
  • MySQL
  • PHPUnit

Pro-to-type

An image of the splash page for the typing speed game.

This javascript typing speed game made use of settimeout and setinterval for the timer, and event listeners with DOM manipulation to change the letters to the right colour. I was responsible for the auto scrolling logic, and the code which changed the colour of each letter based on accuracy. I also came up with the name. Good name pun, right?

  • Javascript
  • HTML
  • CSS

Food. Delivered.

An image of the Food Delivered splash page.

This deliveroo-like React app used a pre-made RESTful API. We accessed different endpoints using fetch, and then updated the DOM accordingly by using state and effect hooks. I worked handling the initial fetch for all restaurants, and the order component, which had to be passed the different items values through props.

  • React.js
  • Bootstrap
  • SASS

OOP RESTful API

An image of the API JSON object.

Built using OOP we followed SOLID principles. We used the entity-hydrator design pattern to deal with the database, and the project had 100% test coverage. I worked on two endpoints, and the 'User' entity- hydrator pair, calling various methods and instantiating classes and static methods to format and send the HTTP response andgracefuly handle errors and exceptions.

  • OOP
  • PHP
  • JSON

Node RESTful API

An image of the API JSON object.

I completed this personal project using Node, Express and MongoDB. Using the controller design pattern, I created several routes for dealing with GET and POST requests. The GET requests have optional query parameters, and the POST requests include validation of datatypes and optional properties, as well as unit testing with Jest. I used try catches and conditional logic to ensure the response status codes were correct, and invalid requests and server errors are handled gracefully!

  • Node
  • Express
  • MongoDB
  • Jest