Scroll To View More
Sam MacPherson, Software Developer in Toronto, ON, Canada
Sam MacPherson

Software Developer in Toronto, ON, Canada

Member since December 28, 2016
Sam has over fifteen years of programming experience. He primarily does web development as a full-stack engineer, but is flexible and open to learning new things. Sam routinely deals with high traffic websites, and is comfortable dealing with solutions at scale.
Sam is now available for hire

Portfolio

Experience

  • SQL, 11 years
  • HaXe, 8 years
  • HTML, 5 years
  • CSS, 5 years
  • JavaScript, 5 years
  • Amazon Web Services (AWS), 5 years
  • Node.js, 3 years
  • React, 1 year
Toronto, ON, Canada

Availability

Part-time

Preferred Environment

Windows, Atom Editor, Git

The most amazing...

...thing I've built is a cross-platform virtual dom library for web development in the Haxe language. It is on my Github account under haxe-dom.

Employment

  • App Developer

    2016 - PRESENT
    Sexual Assault Center of London
    • Built a hybrid app that allows victims of sexual assault to collect evidence by providing them with step-by-step instructions.
    • Built a cryptographically signed package that contains a verified timestamp of when the data was collected to be used in legal proceedings. The packages are stored on S3.
    • Worked directly with social workers and a prosecution lawyer to design the app.
    • Worked with an external company to match the app design with the website they developed.
    Technologies: Ionic, JavaScript, AWS
  • Web/App Developer

    2015 - PRESENT
    Throw Away Games, Inc.
    • Built a hybrid app using the Ionic framework called RelNuz. It is publicly available on Android/iOS.
    • Worked with both a designer and a back-end developer. Design was provided via CSS files and example HTML.
    • Contributed to the back-end PHP/Laravel service which supports the App API as well as the website.
    • Made changes to an Ionic open source plugin to get a video camera recording instance running without switching out of the app.
    • Built a web tool for viewing a 3D avatar created from cameras in real life.
    Technologies: PHP, Laravel, Ionic, Sass, JavaScript, Vagrant, WebGL, Three.js
  • Developer

    2014 - PRESENT
    Real-time Graphics
    • Built a windows application in C# that delays broadcast video and can upload the delayed stream to various RTMP endpoints.
    • Built a windows application to monitor nine video feeds and freeze when the user taps the screen. This is being used for televised poker games.
    • Provided on-site development and web stream management for televised poker games going out to Poker Central and CBS.
    • Built a web app that reads in a poker game play-by-play file and reconstructs the visuals of the game on an HTML canvas element using the PhaserJS framework.
    • Built a web tool to filter for tweets containing certain hashtags and allow an operator to mark them to go live-to-air.
    • Provided ongoing consultation and development work to the owner of the company.
    Technologies: C#, MFormats SDK, PHP, JavaScript, PhaserJS, Grunt
  • CTO

    2012 - PRESENT
    SandBoxd, Inc.
    • Built the SandBoxd.com web app, which is a gaming portal for browser-based games. The app and its games run on both mobile and desktop.
    • Built a virtual dom library for Haxe which is being used by SandBoxd to allow rendering pages on either the client or the server using the same code.
    • Built a push message server for chat and real-time notifications on the SandBoxd web app.
    • Built a multiplayer game called EverWorld, which is a real-time, infinite world MMORPG.
    • Built a public API for games developed on SandBoxd.
    • Built SDKs for the API on Java and JavaScript.
    • Built and deployed hybrid apps for EverWorld on Google Play and the Apple App Store.
    Technologies: Haxe, AWS, Java, JavaScript, LESS, PhaserJS, PixiJS, Bootstrap, Cordova
  • Web Developer

    2011 - PRESENT
    Bombardier, Inc.
    • Built a web service that allows employees to bid on jobs they want to work.
    • Built the algorithm that selects the weekly job each employee is to work based on the union/company collective agreement.
    • Built a similar system to allocate vacation weeks for each employee for the year.
    • Expanded the system to manage the supervisor's call list for overtime work based on eligibility for the job.
    • Provided ongoing client support and maintenance for this system.
    Technologies: Haxe
  • Web Developer

    2016 - 2016
    GSXP, LLC
    • Built a video platform using Node.js and React.js with full server-side rendering.
    • Built the back-end using Node.js and Express.js with a commonly shared model and view layer between the client and server.
    • Used Redux for managing the state.
    • Designed and set up all services to run on Amazon Web Services.
    • Services are designed for large amounts of traffic by use of caching and CDNs.
    • Backed by a MySQL database in Amazon RDS.
    Technologies: Node.js, React.js, Express.js, Sequelize, AWS
  • Web Developer

    2014 - 2014
    Lollipop
    • Built an interactive vehicle creator for the chevrolet.com website using the Fabric.js framework.
    • Worked with a UI designer to convert the example images he sent into SASS.
    Technologies: HTML, Sass, JavaScript, Fabric.js, Grunt
  • Co-founder

    2006 - 2012
    GigaBlast Games
    • Developed a multiplayer, 2D shooter game called Pawn using Flash. The server was built using SmartFoxServer.
    • Managed and operated a website PawnGame.com which hosted millions of players.
    • Worked with the owner of CrazyMonkeyGames.com, who did promotion for the game on his site.
    • Built a sequel multiplayer, 2D game called Pawn: Tactics using Flash and Apache MINA in Java.
    • Built a third multiplayer, 2D game called Zed using Haxe compiled to Flash.
    • Built a game asset management tool using Java and Swing.
    • Dealt with security and obfuscation to prevent or deter cheating in all games.
    • Implemented a hash-based pathfinding algorithm for fast pathfinding in the Zed game.
    • Wrote a lighting GPU shader for Zed which cast shadows on walls when objects obscured your flashlight.
    Technologies: Flash, Haxe, SmartFoxServer, Java, MINA

Skills

  • Languages

    HTML, HaXe, CSS, JavaScript, ActionScript 3, Java, SQL, Python, Bash, C, C#, Objective-C, PHP
  • Libraries/APIs

    Node.js, Pixi.js, React, Fabric, jQuery
  • Storage

    AWS DynamoDB, NoSQL, MySQL, MongoDB
  • Other

    Browsers
  • Frameworks

    Phaser.io, Ionic, Cordova, Express.js, AngularJS, Apache MINA, Laravel
  • Tools

    NPM, Gulp.js, Grunt.js, Sequelize
  • Paradigms

    Object-oriented Programming (OOP), Concurrent Programming, Functional Programming
  • Platforms

    Android, Linux, iOS, Amazon Web Services (AWS), Windows

Education

  • Bachelor of Science degree in Computer Science (Minor subject: Physics)
    2007 - 2012
    University of Waterloo - Waterloo, Ontario, Canada
I really like this profile
Share it with others