Scroll To View More
Patrick Canfield, JavaScript Developer in San Francisco, CA, United States
Patrick Canfield

JavaScript Developer in San Francisco, CA, United States

Member since November 2, 2015
An engineer with a right-brain-hemisphere orientation (a unique combo), Patrick is good with lateral thinking, visual problem solving, green-hat thinking as well as the analytical reasoning that engineers typically rely on. He has a decade of professional experience, recently in front-end web tech (React.js, Redux, ES.Next, Webpack, Angular, Backbone.js, and jQuery). He's currently learning about the psychological foundations of UI design theory.
Patrick is now available for hire

Portfolio

  • EventRay
    React, Redux, Webpack, Babel, ES-Next, Sass, Git
  • Metromile
    Angular, Gulp, Git, Nginx, Sass
  • GoGet.fit
    Python, Angular, Ionic, Cordova, Jasmine, Protractor

Experience

  • JavaScript, 7 years
  • Agile Software Development, 5 years
  • Responsive Web Design (RWD), 5 years
  • Jira, 3 years
  • Webpack, 1 year
  • Redux, 1 year
  • ECMAScript (ES6), 1 year
  • React, 1 year
San Francisco, CA, United States

Availability

Part-time

Preferred Environment

Linux, macOS, Git

The most amazing...

...thing I've created is at EventRay.com/learn/logic/forms

Employment

  • Co-founder | Front-end Engineer | Chief Marketing Officer

    2016 - 2018
    EventRay
    • Wrote code for hovering error feedback next to associated input on a form.
    • Contributed to the landing page design.
    • Built end-user help pages.
    • Developed a predicate logic-building UI.
    • Wrote code for responsive toolbars.
    • Wrote highly reusable code for building CRUD interfaces.
    • Helped fix bugs in an open-source library, React-Popper.
    Technologies: React, Redux, Webpack, Babel, ES-Next, Sass, Git
  • Senior Front-end Engineer

    2016 - 2016
    Metromile
    • Created rapid prototyping scaffolding.
    • Wrote the code for displaying a map showing recent trips.
    • Wrote a shimmer animation loading feedback Angular directive.
    • Contributed to a testing framework.
    • Significantly rearranged the customer-facing front-end code to fix race conditions.
    • Initiated a weekly company-wide front-end engineering sync.
    • Wrote an Angular directive for fading in a background image once it's fully loaded—eliminating an ugly distracting loading flicker.
    Technologies: Angular, Gulp, Git, Nginx, Sass
  • Software Engineer (Remote Freelance)

    2015 - 2016
    GoGet.fit
    • Established an agile process using Pivotal Tracker, Google Hangouts, and Bitbucket pull requests.
    • Helped design a mobile app's API.
    • Implemented front-end Angular services for interacting with the API.
    • Wrote the first unit tests using Angular-mocks.js and Jasmine.
    • Wrote the first end-to-end tests using Protractor.
    Technologies: Python, Angular, Ionic, Cordova, Jasmine, Protractor
  • Senior Software Engineer

    2014 - 2014
    Synack
    • Developed the ID verification step using the Jumio API.
    • Set up a JavaScript unit testing with Jasmine.
    Technologies: Rails, JavaScript, Backbone.js, Jasmine
  • Software Engineer

    2013 - 2014
    Constant Contact
    • Developed a Marionette.js-based social post scheduling interface.
    • Introduced Backbone.js to a young project in need of structure.
    • Helped implement unit testing with Jasmine.
    • Developed a sophisticated color picker using Raphael.js.
    • Created a new project yeoman generator.
    Technologies: JavaScript, Backbone.js, Marionette.js, Jasmine
  • Co-founder | Developer

    2011 - 2013
    EventRay
    • Developed a WYSIWYG conference badge design.
    • Constructed a D3.js-based graphing library.
    • Developed a conference-center-oriented event scheduling app.
    • Created the Prezi presentation that was submitted without a successful application to an incubator.
    • Wrote the landing page with HTML/CSS.
    Technologies: Python, JavaScript, Backbone.js, Marionette.js, D3.js, Sass
  • Software Developer

    2008 - 2011
    Adtec
    • Created a tool for viewing the current LCD output of a remote embedded system from my development machine.
    • Introduced a C++ unit-testing framework.
    • Developed an interprocess messaging service and an SNMP daemon.
    • Created a service for parsing and aggregating TV guide data.
    Technologies: C++, Linux

Experience

  • EventRay Logic Builder Documentation (Development)
    https://eventray.com/learn/logic/forms

    I wrote EventRay's logic builder as well as these documentation pages that use the logic builder's actual code to render examples inline with the documentation. I also conceived and implemented the technology to make that possible.

  • Music Streaming App (Development)

    I built the front-end of this music-streaming app using Backbone.js.

  • Photo Map (Development)
    https://patrickcanfield.com/blog/2018/2/13/art-in-tenderloin/

    This piece of software automatically places photos that I've taken on an interactive map using EXIF data, Mapbox, and a DBSCAN clustering algorithm library.

  • Boggle (Development)

    A web implementation of Boggle, a word-finding puzzle game

    Source: https://github.com/pzatrick/boggle

  • Calorie Tracker (Development)

    A simple app for tracking calories using AngularJS and Firebase. I'm most proud of the stylesheet which I created from scratch and the robustness of the app, thanks to significant automated test coverage.

  • GoGet.fit (Development)
    http://goget.fit

    I wrote much of the foundational front-end code using Ionic and AngularJS. I also put in place the unit and end-to-end tests.

Skills

  • Languages

    ECMAScript (ES6), ES7, JavaScript, CSS3, HTML5, Sass, Python, Ruby, C#, GraphQL
  • Frameworks

    Jest, Redux, Jasmine, AngularJS
  • Libraries/APIs

    React, Lodash, Backbone.js, jQuery, D3.js
  • Tools

    JSX, Git, Jira, Webpack, Pivotal Tracker, Nginx, Gatsby, Sketch
  • Paradigms

    Object-oriented Programming (OOP), Functional Programming, Responsive Web Design (RWD), Agile Software Development, Behavior-driven Development (BDD)
  • Platforms

    Linux, MapBox
  • Storage

    PostgreSQL, MongoDB, RethinkDB
  • Other

    RESTful APIs, General Agreements on Trade in Services (GATS)

Education

  • Bachelor's degree in Computer Science
    2004 - 2008
    University of North Florida - Jacksonville, Florida
I really like this profile
Share it with others