Tom's Two-up Two-down

Apples and pears lead here

Stairs lead to the bedrooms on the first floor where I display my latest projects. You can see the projects I'm currently working on in the garden shed, and my old projects are stored in the the attic.


Travel Cents (repo)

A project screenshot for Travel Cents

Project: A website to help people save their cents to travel.

Brief: I participated in a Small Business Hackathon, and my cross-functional team researched, designed, and built a React front-end prototype to help small businesses in the hospitality sector.

Background: Over three days, our team (data scientist, user experience designers, and developers) came up with an idea and built a prototype that helps users save travel money to spend with small, local, hospitality businesses impacted by the pandemic. Ultimately, we wanted an application that could identify when users were on a check-out page of popular e-commerce sites. Our application would ask users if they would like to round up their cents and save it to their Travel Cents account. I focused on building the React front end, which is displayed at the links above.

Technologies: React, Javascript, HTML, CSS.

Status: Our team came in 2nd in the hospitality sector! We are now working together on a seperate but related project to help struggling music venues.


Statistics Without Borders Website (repo)

A project screenshot for Statistics Without Borders Website

Project: Modernized non-profit website.

Brief: Modernize a non-profit's website with a React front end and a Django back end.

Background: Our 12-person software engineering team built Statistics Without Borders (SWB) a new website with modern technologies over eight days. SWB is a volunteer Outreach Group of the American Statistical Association that provides pro bono services in statistics and data science for public benefit with a focus on developing countries. This is my tenth and final project, and the capstone group project, for General Assembly's Software Engineering Immersive (SEI) program.

Technologies: I focused on the front end along with most of the team using React, Jest, Enzyme, and Storybook. Other teammates focused on the back end using Django and PostgreSQL.

Status: Our team initiated the project, and the next GA SEI class will carry on from where we left off.


Maths-cli (repo)

A project screenshot for Maths-cli

Project: Multiplication flash cards command line application.

Brief: A Python command line application, which provides mathematics flash cards to help a user practice multiplication.

Background: User runs the Maths-cli app in their terminal to practice the multiplication table (factors 1 through 12). User sets up a practice session with all 144 "flash cards" or selects a subset of cards. User can add multiplicaton flash cards to the database after user's first practice session. This is my ninth project, and my first Python project, for General Assembly's Software Engineering Immersive program.

Technologies: Python, PostgreSQL, PeeWee

Status: 3 x 5 = ?


Vibing (repo)

A project screenshot for Vibing

Project: A social "inspiration" website.

Brief: Vibing is a social "inspiration" website, which is similar to social media platforms, but users only share "good vibes" with others. Users can create, read, update, and delete vibes as well as view inspirational quotes.

Background: Vibing is a React front end that uses a MongoDB, Express, and Node.js back end built for a group project. Users can create, read, update, and delete vibes. Users can sign up for an account, which generates an authentication token. Users can view inspirational quotes to get their creative vibes moving. This is my eighth project, and my first major group project, for General Assembly's Software Engineering Immersive program.

Technologies: React, Storybook, JavaScript, HTML, CSS, MongoDB, Mongoose, Express, Node.js

Vibing Storybook

Vibing API repo

Status: Good vibes.


Question Time (repo)

A project screenshot for Question Time

Project: A trivia game using my Pub Quiz JSON API.

Brief: Answer trivia questions! If you don't like the questions, you can change or delete them. You can even add your own questions. You get to ask (and answer) the questions you want during Question Time!

Background: Question Time is a React front end that uses a MongoDB, Express, and Node.js back end that I built for an API project called Pub Quiz. The JSON API I built provides access to trivia questions for a pub quiz game. The user can change or delete the question and answers. The user can add a question. The user has access to the Pub Quiz API! Scary. But fun!

Technologies: React, JavaScript, HTML, CSS, MongoDB, Mongoose, Express, Node.js, apiDoc

API documentation

Status: Well, you have to know these things when you're a king, you know. - King Arthur


Pub Quiz (repo)

A project screenshot for Pub Quiz

Project: A trivia question JSON API.

Brief: Trivia questions for a pub quiz game stored in a database that users can access via a JSON API. This version has one category: history. This is the route: /history. Here is the API documentation.

Background: I miss our local in England. I miss pub quizes. I made a pub quiz API to fill the void. This API is my sixth project for General Assembly's Software Engineering Immersive program.

Technologies: MongoDB, Mongoose, Express, Node.js, apiDoc

Status: Next question.


Five Fab Cocktails (repo)

A project screenshot for Five Fab Cocktails

Project: A cocktail recipe generator.

Brief: The website presents a user five fab cocktails with tabs to select each one. User can click a button to load five more cocktails.

Background: I needed a random cocktail, so I built an app that could serve my need. This is a lab exercise that I converted into a project for General Assembly's Software Engineering Immersive program.

Technologies: React, JavaScript, HTML, CSS

Status: Chin-chin!


Tower of Turtles (repo)

A project screenshot for Tower of Turtles

Project: Play a game of Tower of Turtles! How many moves will it take you to move all of the turtles to a different tower?

Brief: Users select a turtle from the top of a stack. Users select the tower base to which they want to move the turtle. Larger turtles cannot move on top of smaller turtles. Users keep moving turtles until all of the turtles are restacked on a different tower base (middle or right base).

Background: A game of Tower of Hanoi but with turtles. This game is my fourth project for General Assembly's Software Engineering Immersive program.

Technologies: JavaScript, HTML, CSS

Status: Turtles all the way down.


War Card Game (repo)

A project screenshot for War Card Game

Project: Play a game of War in a web browser console.

Brief: Admiral Horatio Nelson and Admiral Pierre Villeneuve fight the Battle of Trafalgar using the children's card game War to determine the winner of the naval engagement. Unlike their 1805 battle, Admiral Villeneuve has a fighting chance with cards. Will Admiral Nelson on his flagship HMS Victory destroy Admiral Villeneuve's French and Spanish fleet?

Background: The War Card Game is my second project for General Assembly's Software Engineering Immersive program.

Technologies: JavaScript, HTML

Status: Admiral Nelson on his flagship HMS Victory has joined the war.


Tom's Website (repo)

A project screenshot for Tom's Website

Project: A personal website that breathes like a house.

Brief: Users can read my blog in the front room. Users can read about me and what I'm currently working on in the kitchen. Users can view projects in my portfolio on the first floor. Users can potter about the projects I'm currently working on in the garden shed. Users can see my projects archive in the attic. Users can contact me via links at the bottom of each page.

Background: We own a terraced house in Cambridge, England. It's a two-up two-down with a kitchen extension, an attic conversion, and a small garden with a shed. We call it the 'Red Door House.' I was thinking about our house when I started JAMstacking my website with a blog, updated projects, and a new theme. My website breathes like a house. Sometimes you feel a draught, but the radiators keep it cozy.

Technologies: 11ty, Nunjucks, JavaScript, HTML, CSS

Status: Living.