Derek McIntire
Boston-Based Web Developer
derekbmcintire@gmail.com

Hi, I'm Derek!

Developer. Teacher. Photographer. Cyclist. Traveler.

What I love about programming is that it satisfies my need for a constant challenge, and I get the opportunity to create high quality web applications that benefit others.

I’m a full-stack web developer with experience in non-profit program development, teaching, and bicycle mechanics. With a strength in critical thinking and a drive to create effective solutions, I strive to build meaningful projects that address real-world needs.

I have learned that a huge part of programming is knowing how to fail, and that failing is often times a step forward in the process. Having this perspective has allowed me to not only write the best code I can, but to build a strong foundation in programming, regardless of what language or technology is used. Going forward, I’m eager to dive deeper into both front-end and back-end development, collaborate with other passionate developers and continue to strengthen the programming skills I've worked so hard to build.

Download my resume

Technologies

I love learning new technologies, these are the ones I've been playing with lately.

Languages & Frameworks

JavaScript(ES6)
ReactJS
jQuery
EmberJS
Ruby
Rails
ExpressJS

Markup & Style

HTML5
CSS3
Bootstrap
SASS
Handlebars

Data & Web

NodeJS
PostgreSQL
SQL
MongoDB
Mongoose
AJAX
Git/GitHub

Projects

I love when all the work I put into learning new technologies pays off and I'm able to put something new into the world. These projects are a reflection of my journey through web development, and each represents a commit to my personal growth as a programmer.

Shifting Power

Built with Ember.js, Ruby on Rails and a PostgreSQL database

Shifting Power is a web app that organizes bicycle mechanics videos for people who are interested in learning how to fix their own bike. It’s designed to be beginner friendly and allows a user to click on any part of the bicycle to view videos relevant to fixing that part.

Although I had lots of ideas for this project, I first focused on creating an MVP that would give users simple, meaningful functionality.

One of the main features of the site is the clickable bicycle image. I thought this was important for users who may not be familiar with the technical terms of a bicycle, or users who's language may not be English. This was built using pure css, taking advantage of absolute positioning, z-index, and setting margins and dimensions using percent. The result is responsive and intuitive, allowing users to easily navigate to the videos they are looking for.

I used git and GitHub for version control, made frequent commits and documented the process in a README available in the GitHub repo.

This being my first experience with Ember, it was at times challenging, and I found myself not knowing how to do things I felt would be easy with vanilla JavaScript or jQuery. Thankfully, my previous experience and mentors have taught me that programming isn’t about knowing how to do something, but knowing how to learn to do something. I found myself turning to this wisdom often and it guided me through the process until I was able to accomplish what I set out to do.

Nozamaps

Team project built with JavaScript, jQuery, Node/Express.js and MongoDB

Nozamaps is an E-commerce site that incorporates the Stripe Checkout API for payments. Users have full auth functionality, can browse maps for sale, build a shopping cart and pay with their credit card. They can also view past orders, and an admin is able to create and update products for the site.

This project was built in a team environment, but this is a cloned version with my own unique name and styling.

Building this app in a team environment was possibly the most rewarding experience I've had as a growing developer. A majority of the work was done while pairing with one or both of my fellow team members and we used GitHub to manage workflow. We held each other accountable for our responsibilities and were methodical about checking out feature branches, merging, rebasing and pushing together before moving on to the next item on our schedule. We also utilized a Scrum strategy of daily stand up meetings, and made sure to plan everything out with user stories, wireframes and an ERD for our data structure.

A README that documents the project further is available in the GitHub repo.

We ran into some challenges when trying to import the code necessary to use the Stripe Checkout API. Stripe recommends importing the code directly from their URL and do not offer a package installation. The webpack template we were using for the project didn't allow us to import code from a URL, so we ended up using a script loader called ScriptJS. This allowed us access to the codebase needed for Stripe to work, and we learned a lot about utilizing third party packages to solve unexpected problems.

To-Do-List

Built with JavaScript, React.js, Flux, Node/Express.js and MongoDB.

This simple to-do-list app lets a user log in and create, save and edit multiple to-do lists. Individual items can be checked off, removed, and repositioned. I built this app while teaching myself React.js and Flux.

I love learning new technologies and React had been on my radar for months. I took advantage of a week-long holiday to learn how to use this popular JavaScript library. Building a to-do-list app gave me a chance to build simple React components using JSX, learn a new work flow with Flux and be introduced to react routing for different views.

This project also gave me more experience using Express.js and a non-relational database, which after careful planning I felt made a lot of sense with the data structure of this app.

Git and GitHub were used for version control.

Building a single page application with components and routing was a totally new approach to web development for me. A lot of the challenge was in thinking about how to organize the flow of data and actions. Flux helped a lot with this and I loved the way I was able to use plain JavaScript and jQuery in combination with React components.

SpokeRetriever

Built with JavaScript, jQuery, Ruby on Rails and a postgreSQL database

SpokeRetriever is a bicycle registration site to help users keep track of their bicycles. Users can create bicycles, register them stolen or recovered, and search for bicycles in the database. I came up with the idea for this app while working at a local bike shop and seeing how many found bicycles were unable to be reunited with their owners.

For my first full-stack web application, I used my planning time to create user stories, wireframes and an Entity Relationship Diagram. I aimed for an MVP with a single resource (bicycles), and once all CRUD actions were functional, I added an events resource and defined a many to many relationship between users and bicycles through events.

I used git and GitHub for version control, made frequent commits and documented the process in a README available in the GitHub repo.

In addition to completing CRUD actions on several resources, users are able to search the database for bicycles.

This was definitely the most challenging logical problem I faced wile building this application, but in the end I was able to allow users to find bicycles with partial matches through using regular expressions.

Tic Tac Toe

Built with JavaScript, jQuery, Bootstrap, and SASS

Challenge a friend, or play against the computer in this classic game of Tic Tac Toe. I built the front end of this app, and connected it to a provided authentication and game API so users can log in and keep track of their game stats.

Planning for this project involved creating user stories and wireframes to help lay out a step-by-step process to reach the MVP.

I used git and GitHub for version control, made frequent commits and documented the process in a README available in the GitHub repo.

The most exciting part of building this app for me, was coming up with the logic behind the player vs. computer mode. I needed to come up with a way for the computer to respond to a players moves, set the timing to make it feel realistic, and also leave a little room for a player to beat the computer every once in a while.

This project gave me a much better understanding of using API's and making ajax requests using jQuery, as well as my first exposure to using promises and a deeper understanding and appreciation for asynch JavaScript code.

Wikisearch

Built with JavaScript and jQuery using codepen

This Wikipedia search app is one my very first web applications. Users can search for anything on Wikipedia, view results, see a description, and click a link to bring them to that page. They can also choose to visit a random Wikipedia page.
To build this page I followed the user stories set out by the Free Code Camp Wikiviewer challenge that can be found here.

To give users the ability to search Wikipedia, I used the Opensearch Wiki API. This gave me some of my earliest experience with JSON and how to utilize data sent back from an API.

Displaying the results from the API dynamically, without knowing how many results would be returned (although I limited this to 10), was one of the biggest hurdles with this project. My solution was using a for loop, and on each iteration generating a string of html with a unique id using "i", which represented the current iteration.

Now that I have experience with templating solutions like Handlebars and components using React and Ember, this project gave me an appreciation of how powerful and useful those technologies can be.