Ross Godfrey

Full-stack web developer

A view of Ross Godfrey standing in a park on a hill, overlooking a body of water with islands.

Background

My schooling is in linguistics: first as an undergraduate, and then as a graduate student. Toward the end of my studies, when I realized a career in academia was not in the cards, I began to learn to program, focusing on Python. Later, I turned my attention to web development, taking a short course from Juno College of Technology, followed by a full-stack bootcamp at Le Wagon. I’m trained in Rails, and have been learning React independently since the completion of the bootcamp.

I enjoy finding solutions to puzzles — for me, hunting down bugs in code is often more pleasurable than it is frustrating. I enjoyed tackling Advent of Code last December, and have started to post my solutions on GitHub.

I live with my wife in Ottawa, Canada. My favourite bird is the White-Throated Dipper.

Projects

React

Rossword
A short video displays the Rossword in action. First, the user answers 10 Across (“Outer portions of bread”) with the word “crests”, then clicks the “Check word” button to discover that the “e” is incorrect. The user replaces the “e” with a “u”. The user then scrolls to 29–30 Down, which asks for the blanks to be filled in the phrase “Living ___-___ in my head”. The user types “rent” for the first blank, clicks “Reveal letter” to learn that the second blank starts with an “f”, and finishes by typing “ree”.

A crossword interface, based on the one used by The Guardian. My goal for this front-end project is simply to deliver a smooth user experience, supporting keyboard and tab navigation, mouse clicks (or touch-screen presses) on crossword cells and clues, the ability to check and reveal answers, etc. In other words, all the things a user would typically take for granted.

Rails

These Rails apps were created in a team of four as part of Le Wagon’s web development bootcamp:

ChoicePoint
A short video displays ChoicePoint in action. First, the user answers the question “What TV show should I start watching?” by voting for the option “Better Call Saul.” Then, the user navigates to their past choice points; we see that they had asked where they should go to college, and that “University of Southern California” was the most popular answer. The user indicates that they indeed chose this option, and that it was successful for them.

For people who have trouble making decisions. Describe your difficult decision, and other users will vote on the best option. If the choice you make turns out to be successful, then users who voted for it will receive a reputation boost, meaning their votes will count for more in the future.

LFT (Looking for Tutor)
A short video displays LFT in action. First, the user views lessons that they have already taken. Then, they go to the home page, and type “science” into the search bar. Lessons for various types of science (e.g., political science and computer science) are displayed. The user scrolls to a computer science lesson, and clicks on “Book Now.” They are taken to a page with a map that displays the location of the lesson, and a form that allows them to choose a day and time for the lesson.

Connects students with tutors in a variety of subjects, all over the world. Students can book lessons with tutors, and can leave reviews, to let other students know how the lesson went.

Python

IDLE Chess
A short video shows a user running IDLE Chess in their terminal. A chess board is displayed, with the pieces in their starting positions. The user types “c4”, and the white pawn at space c2 moves to c4.The user then types “b6”, and the black pawn at space b7 moves to b6. The user then types “Qa4”, and the white queen at space d1 moves to a4. Finally, the user types “r”, and a message appears saying “Black resigns. White wins!”

A chess program for two people to play at the same command line. This dates back to my pre-bootcamp days.

Frameworks, Languages, and Tools

  • I build full-stack web apps with Ruby on Rails.
  • I use React to create user interfaces.
  • I have experience with the Bootstrap CSS + JS library.
  • I like to use Sass to generate my CSS.
  • My first programming language was Python.
  • I’m comfortable with vanilla JavaScript.
  • I’m familiar with relational databases and SQL queries.
  • Naturally, I use Git for version control.