Photo of Ian Forrest


My Work

I work as an Engineering Manager at BiblioCommons, where I manage the development of SaaS products used by public libraries in over a hundred cities including Chicago, Boston, and San Francisco.

Over the past few years, I've spoken about web accessibility at conferences such as Strange Loop, Codemash, Northeast PHP, and more.

Follow me on Twitter @ianforr.

Below you'll see examples of side projects and work done for past employers.


Hackworks is a startup based in Toronto that organizes hackathons. The website features an online hackathon management system, which handles accounts, registration, waitlists, teams, and submissions.


CartFiller is a tool I wrote to help people get free shipping on Amazon Canada. It uses Amazon's Product Advertising API to automatically search for items that qualify for free shipping. It also has a Chrome Extension.

Gradient Animator

Gradient Animator is a CSS generator used to create animated backgrounds, with the option to export as a GitHub gist. It was inspired by MailChimp's Email Design Guide.

Hackathons Near Me

Hackathons Near Me is a tool I built with AngularJS that, as you'd expect, helps people find hackathons near them. The data is also visualized in a nifty little map.


  • PHP 7.x
  • HTML5
  • Sass + CSS
  • JavaScript
  • Web Accessibility
  • Test-driven Development
  • Docker
  • MySQL
  • PostgreSQL
  • MongoDB
  • WordPress
  • Symfony
  • Laravel
  • Ruby on Rails

About Me

I'm a software engineer + public speaker based out of Toronto. Over the course of my career, I've worked at a variety of companies, from startups in the medical field, to enterprise firms, to mobile game studios. This breadth of experience has provided me the opportunity to learn a large variety of technologies and to work with a bunch of fantastic people. Outside of work, my interests include fantasy sports, watching old movies, and drinking anything hoppy from Bellwoods Brewery.

Get In Touch

Sent! I'll get back to you shortly.
Please fill out your name.
Please enter a valid email.
Please fill out your message.
An unknown error occured.