Profile picture

Gus Cunningham

Back End Developer
Pronouns he/him
Open Resume Email Directly

About me

Enthusiastic learner & problem-solver passionate about taking on new challenges and developing new skills. I have a background in non-profit work, and while I'm still the steadfast idealist who first picked up a hammer I am now looking to do some good through code. I'm energized by logical problem-solving and have often been my team's go-to person for working through difficult challenges. I'm an enthusiastic practitioner of Test Driven Development and I take pride in writing clean, concise, thoroughly-tested code.

Let's Talk!

Preferred locations

  • San Francisco, CA
  • Denver, CO
  • Indianapolis, IN
  • New Orleans, LA
  • Boston, MA
  • Portland, OR
  • Austin, TX
Open to other locations and/or remote work

Previous industries

  • Accounting
  • Civic & Social Organization
  • Construction
  • Financial Services
  • Fund-Raising

Skills

  • Bootstrap
  • CSS3
  • Git
  • GitHub
  • Go
  • GraphQL
  • Heroku
  • HTML5
  • Node.js
  • PostgreSQL
  • Rails
  • RSpec
  • Ruby
  • SQL
  • Travis

Currently learning

  • JavaScript
  • Jest
  • React
  • Sequelize

Projects

Course Chart

Course Chart

Project scope time hours
Collaborators Profile picture for Alia Peterson Profile picture for Alice Ruppert Profile picture for Cameron Aragon Profile picture for Ely Hess Profile picture for Lucas Merchant

Tools Used

  • Go
  • Heroku
  • HTML5
  • JavaScript
  • Jest
  • PostgreSQL
  • React
  • SaaS

Course Chart is an instructional design tool to assist education professionals in designing and mapping both new and existing courses. Users can build courses and modules around the amount of time students should spend on a variety of different learning activities (such as readings, lectures, and exams). Course Chart then provides graph visualizations to help ensure that work is appropriately distributed and balanced throughout the entire course. The app consists of:
- a front-end JavaScript application using Next.js and React, and
- a back-end Go application, which manages the app's database
This was a group project featuring collaboration between students from both the frontend and backend programs. As a member of the backend team I helped to design and build the backend application in Go using the Gin framework, a Postgresql database, and the gorm ORM package. All API responses adhere to JSON API 1.0 specifications, and we achieved 85% test coverage using Go's built-in testing package. We also had the ability to work with an Instructional Designer who acted as our client, including requesting features and requesting feedback on our site's design and functionality. 


My areas of focus:
  • Quickly learn and gain practical experience with a new language and framework
  • Maintain high test coverage
  • Collaborate with a front-end team using an Agile workflow
  • Gain experience working with a client
Launch the App Code Repository
Screenshot detail for project Course Chart
Screenshot thumbnail #1 for project Course Chart Screenshot thumbnail #2 for project Course Chart Screenshot thumbnail #3 for project Course Chart Screenshot thumbnail #4 for project Course Chart

Go Local

Go Local

Project scope time 80 hours
Collaborators Profile picture for Saundra Catalina Profile picture for Samuel Yeo Profile picture for Yesi Meza Profile picture for Cydnee Owens Profile picture for Vanessa Arruda

Tools Used

  • Bootstrap
  • Heroku
  • JavaScript
  • PostgreSQL
  • Rails
  • RSpec
  • Ruby
  • Travis

Go Local allows travelers to experience their destinations like a local by inviting local users to suggest authentic travel experiences for visitors to browse, 'favorite', and enjoy. The app consists of:
- a front-end Rails application, which provides a user interface;
- a back-end Rails application, which manages the app's database;
- a Sinatra Places micro-service application to retrieve information from the Google Places API;
- and a Sinatra Cities micro-service application, which retrieves the nearest large city to destinations added by our users to facilitate  in organizing recommendations .
Though the app mainly adheres to a Service-Oriented Architecture pattern, we did include a call to Google's JavaScript Maps API from the front-end in order to implement dynamic location-searching and embedded maps. The back-end exposes a total of 10 ReSTful endpoints to the front-end app for interacting with the app's PostgreSQL database as well as two non-ReSTful endpoints for retrieving information from the micro-service applications. All API responses adhere to JSON API 1.0 specifications and were fully tested using RSpec.  


My areas of focus:
  • Utilize a Service-Oriented Architecture with a front-end, a back-end, and at least one micro-service
  • Consume external APIs
  • Build APIs that return JSON responses
  • Use an external OAuth provider to authenticate users
  • Deploy a production-quality user interface
  • Implement an Agile workflow, including sprint planning & reviews and use of GitHub project management & code review tools
Launch the App Code Repository
Screenshot detail for project Go Local
Screenshot thumbnail #1 for project Go Local Screenshot thumbnail #2 for project Go Local Screenshot thumbnail #3 for project Go Local Screenshot thumbnail #4 for project Go Local

Viewing Party

Viewing Party

Project scope time 72 hours
Collaborators Profile picture for Saundra Catalina

Tools Used

  • Bootstrap
  • Heroku
  • PostgreSQL
  • Rails
  • RSpec
  • Ruby
  • Travis

Viewing party is an application in which users can explore movie options and create a viewing party event for the user and friends. Users can find and add friends by email address, approve or deny friendship requests, browse movies, and invite friends to viewing parties for specific movies. Movie data was acquired from TheMovieDB's authenticated API. All functionality was fully tested using RSpec, supported by Capybara, Shoulda-Matchers, FactoryBot, and Faker. 


My areas of focus:
  • Consume JSON APIs that require authentication
  • Build an application that requires basic authentication * Organize and refactor code to be more maintainable * Implement a self-referential relationship in ActiveRecord * Apply RuboCop’s style guide for code quality
  • Employ Continuous Integration using Travis CI
  • Deploy to Heroku
Launch the App Code Repository
Screenshot detail for project Viewing Party
Screenshot thumbnail #1 for project Viewing Party Screenshot thumbnail #2 for project Viewing Party Screenshot thumbnail #3 for project Viewing Party

Rails Engine

Rails Engine

Project scope time 56 hours
Collaborators

Tools Used

  • Heroku
  • PostgreSQL
  • Rails
  • RSpec
  • Ruby

Rails Engine is a backend API application for viewing & interacting with an E-commerce database. A total of 20 ReSTful and non-ReSTful endpoints allow users to search for merchants and items, view business data such as total revenue for a merchant, item, or time period, and perform CRUD actions on items in the database. The application uses a PostgreSQL database accessed using ActiveRecord, and returns serialized JSON following JSON API 1.0 specifications. All endpoints were fully tested using RSpec tests in the local environment as well as a spec harness in Postman. 


My areas of focus:
  • Build an API in Rails
  • Use serializers to format JSON responses * Test API exposure * Use ActiveRecord to find and analyze information stored in a SQL database
Launch the App Code Repository
Screenshot detail for project Rails Engine
Screenshot thumbnail #1 for project Rails Engine Screenshot thumbnail #2 for project Rails Engine Screenshot thumbnail #3 for project Rails Engine