Hello there, my name is Nick.
I am a Full Stack Developer currently working as a Junior Software Developer at the SAM Consulting company called Anglepoint. During the workday I implement creative solutions to complex problems with a team of talented and fun people. At night I design and develop modern themed web applications and continue learning to stay up-to-date with the latest technologies.
With a B.S. from the University of Utah in Environmental Studies and Geography (double major), my formal education is in understanding humankind's impact on the environment and how reduce their overall stress on the planet. This provides me with a unique prospective on the world and a nontraditional approach to solving problems at every level.
In more personal terms, I am a lover of dogs, an avid cyclist, and I have a passion for collaborating in a team environment and look forward to continuing to develop with cool people.
Click Image to View
keyboard_arrow_left Swipe Pictures Left or Right to see Projects keyboard_arrow_right
Applying to jobs can be a game of numbers.
When applying to many jobs, it is difficult to track who you have talked to and where you are at in a company’s hiring process. Fortunately, "The Hunt" is here to help simplify that process and keep you organized.
This app allows a user to create mini place-cards for each company they are interested in or have applied to. They can then move the card by clicking and dragging it (using the HTML5 Drag and Drop API) to their desired position on the board. The user can also click the edit button (the small pencil in the left corner of each company's card) to view all the information they have gathered on a company. It is here that they can also change the position of a company on the board.
To use this application a user simply clicks on the "plus" sign on the top left portion of the screen. The user will then be prompted to fill out an html form that is nested inside of a modal. This form uses both frontend and backend validation to make sure the proper kinds of data are stored in the database. The user then will choose where they would like to place the company they are creating on the board. Delete functionality is also available. Simply click on the "X" in the top right corner of each company card and select "YES" on the confirm modal.
This web application is primarily single page and focuses on using Node.js, Handlebars.js, Expres.js, and MySQL to store and present user's data.
Our hope in creating this app is to provide job seekers the opportunity to have more control and better vision over their job application process
This app is a burger logger that utilizes MySQL, Node, Express, Handlebars and a homemade ORM (yum!). Following the MVC design pattern, this app allows users to input into a dynamically generated (using handlebars.js) the burger they want to eat. Upon submitting the burger into the input form, the burger is automatically added to the website's database and added to the "Burgers to devour" section on the webpage. In the same section, users have the option to click on the "devour!" button to move the burger to the "Burgers that have been devoured!" section. Simply put, it allows users to track what burgers they want to eat and which burgers they have eaten.
This app is a burger logger that utilizes MySQL, Node, Express, Handlebars and a homemade ORM (yum!). Following the MVC design pattern, this app allows users to input into a dynamically generated (using handlebars.js) the burger they want to eat. Upon submitting the burger into the input form, the burger is automatically added to the website's database and added to the "Burgers to devour" section on the webpage. In the same section, users have the option to click on the "devour!" button to move the burger to the "Burgers that have been devoured!" section. Simply put, it allows users to track what burgers they want to eat and which burgers they have eaten.
This tool allows the modern user to get a better understanding of the MArvel universe with a customized dossier for each of the Avengers team members listed on the home page. Simply click on the team member you would like to learn more about and watch as a page is displayed with custom character information.
This web app utilizes HTML, CSS, and JavaScript. the JavaScript logic.js file does the majority of the information gathering by using jQuery AJAX calls to get responses from the Wikipedia and OMDB API's to gather information on the character requested.
This web app is a search tool that utilizes the GIPHY API to pull up 10 gifs that are related to the button that the user presses. On the web page, below the description, there is are preset buttons that access gifs related to things you might text your friend. Above these preset buttons there is also a section with an input box and submit button to create new buttons for the user to click. To "play" the gif, simply click on the image. Below each gif is the parental rating so the user doesn't accidentally click on a gif with questionable content.
This application utilizes Node.js, web APIs and Vanilla JavaScript logic to access tweets from a user's account, research information on a specific song, or gather information on a requested movie. It ties together the ability to use web APIs to access JSON formated data to the display to the user. Through the addition of the dotenv, request, node-spotify, and twitter npm packages and the OMDB API this app can access the requested data, while keeping the user's API keys and secrets safe.
This project is a mentor/mentee partner app that allows users to complete a survey which, based on their answers, will pair them with a force mentor and a fellow mentee. As a customized rendition of a "friend finder" app, this allows users to experience a fun and enjoyable interface and experience, while their data is handled on the backend. A working version of the app can be found at the link listed above.
To complete the survey a user must click on the button on the main landing page. Upon clicking, the user is redirected to the survey page where they will be asked Star Wars themed personality questions. Based on their answers a user will be given a score of 10-50 (not seen by the user) to be used to determine whether they are meant for the dark side or the light side of the force.
On the backend the server stores the user's name, picture link, and catchphrase. The client-side JavaScript then completes an AJAX request from the API's get route for the stored JSON response. upon receipt of the data, the client then checks the users total score against the score of the mentors (5 mentors total) and assigns a mentor to the user. Then the user's score is checked against the scores of the mentees from most recent to least. If no direct score match is found, it then checks for scores within 2 points, then 5, and finally 10. If the user doesn't have a match by then, one of 5 default mentees will match.
Once a mentor and mentee are matched, a Modal will appear with the user's matched pair. When the user clicks the "Home" button they will return home, and when they click close the inputs reset.
This Node.js application allows the user to interact with a basic product storefront. Upon starting up the bamazonCustomer.js file using node the user will be asked whether they would like to make a purchase. If no, the application exits the store. If yes, the user is asked to enter a product id (from the provided product table) that they would like to purchase. They then must enter a quatity to purchase.
Upon entering this data the application will first determine whether there is enough product in stock to complete the order. If no, it then re-prompts the user to place a new order (this time with an acceptable quantity). If yes, then the order is placed and the total the user owes is totaled. All of the information is displayed to the user. The table is then re-displayed with updated quantities and the user is again asked whether they would like to make a purchase.
The user also has the ability to access bamazonManager.js. This side of the app allows the user to view all products (including their quantities), view only the products with low quantity(less than 5 products left), increase the quantity of a product, and add a new product.
This app is meant to showcase the ability to interact with a server using MySQL and to utilize Node.js as the medium to interact/dislay the content.