Projects

I have been building web and mobile-web applications since 2009. Here is a selected list of projects that I got to work on as either a contractor or a full-time employee.

The RealReal

https://therealreal.com

The RealReal is the world's largest online marketplace for authenticated, consigned luxury goods. As part of the Supply Growth team, I was responsible with helping build the Get Paid Now program, which allows people to sell their items to The RealReal immediately instead of consigning and waiting for a sale. The program was very successful in generating more supply for the business.

The work involved integrating with microservices across the multi-language system, which was done with Kafka, GraphQL and later grpc. Our team did some of the pioneering work of adding background processing with Oban and started work on the Elixir grpc integration.

  • Elixir
  • Phoenix
  • React + next.js + TypeScript + Chakra UI + codegen
  • Kafka
  • Postgres
  • GraphQL
  • grpc

CareGuide

https://careguide.com

Careguide is a directory for caregivers (baby sitters, dog walkers, caregivers for the elderly). One of the challenges the business faced was how to put people who were looking for care, in touch with the care givers on the site, without disclosing either party's phone number. I built the phone anonymization features of the site using an in-browser call button powered by Twilio. I was also contracted to build out the ad localization feature.

  • Ruby on Rails
  • Twilio
  • AWS
  • Google Maps

Podyssey

https://podyssey.fm

Podyssey is an online community for podcast lovers to discover and discuss their favourite podcasts.

I was part of a small team that built out the initial version of the React web application you can see above. Some of the features include: searching for podcasts, finding the best episodes for a podcast, and, of course, listening to podcasts on the web.

  • React
  • GraphQL/Apollo
  • Node.js
  • AWS

Next150 Challenge

https://next150.indianhorse.ca

This was a small project, but meaningful to me personally. The project is related to the Truth and Reconciliation movement in Canada, and it was launched on Canada's 150th aniversary. The name "Next 150" expresses the hope that the future of Canada is one where Indigenous people and Settlers can live together with mutual respect and respect for the land.

Technologies

Next150 is the work of a small team with much heart. My role involved working on the backend to implement a few of the "challenge" features, such as a feature that uses geolocation to tell a visitor what Indigenous traditional territory they are on and then allowing them to post that information on Twitter, Facebook and Instagram.

  • React
  • Ruby on Rails
  • Dokku
  • Twitter / Facebook / Instagram integration

San'yas Online Training

https://ics.sanyas.ca/login

San'yas is a large software project that was started in 2009 and powers the online courses offered to health care providers, people working in the legal system, civil servants and many others across Canada. As part of my work at Animikii, I was the lead developer on the project for about two years. Tens of thousands of people have taken the course during that time.

Technical Details

This project was challenging in that we had to maintain an older codebase while slowly migrating the functionality to a new application. The business logic was very complex and we got a chance to implement a Hexagonal Architecture within the Rails application we were required to work with, to mitigate that complexity.

As a team lead I set up new software development processes to allow us to work with the many stakeholders and make sure our small team was delivering the most important features on time.

Due to regulatory requirements the application is hosted entirely in Canada.

  • Ruby on Rails
  • Hexagonal Architecture
  • React
  • Dokku
  • CI
  • Automated Testing

DesignDrop

A feedback tool for web and graphic designers. Designers can share a mockup through a short url with their team or clients. Anyone with the link can annotate portions of the design and generate conversation threads. We use push notifications to share the comments across different browsers. I started working on the DesignDrop with Dan McGrady in 2013.

Technologies

I got to wear many hats including building the front end Backbone application and the API. The app was rebuilt in 2016 using React + Redux and Elixir + Phoenix. It was an excellent learning experience to build this real-time application with Elixir and Phoenix.

  • Elixir
  • Phoenix
  • React
  • Redux
  • Stripe

Promo

https://promo.co

Promo is a mobile marketing and eCommerce platform for small businesses. Business owners can manage their online presence from the iOS or Android mobile apps. This makes it easier to keep on top of social media campaigns, online sales and order management.

The native iOS and Android apps are powered by a Rails JSON API. My main focus was building the Rails app that powers the microsite and API for Stripe integration using Stripe Connect.

  • Ruby on Rails
  • Stripe
  • Open Street Maps
  • Automated Testing

Push Science

PushCSP is an account management iOS application for telecom retail stores. The goal is to create a better in-store experience by allowing sales representatives to manage accounts and process payments using the tablet.

The application was built with Phonegap, Angular.js with a Ruby on Rails JSON API. I worked on both the front-end and backend.

  • Phonegap
  • Angular
  • Ruby on Rails

ShopLocket

Acquired in 2014 by PCH International

Shoplocket is a great platform to instantly sell and pre-sell on a website. There are many creators who need to sell a few items online and do not want the hassle of setting up a full blown online store. With ShopLocket it is possible to add an eCommerce widget to an existing website or blog by just copying an html code snippet into the site.

I was hired as a contractor to add an Angular application to improve the user experience of the product creation page. The goal was to offer an instant preview of the product as the product was being created.
I was also responsible for implementing a feature that allows customers to checkout through a modal window directly from the website that embeds the product widget.

  • Ruby on Rails
  • Angular
  • Automated Testing

Hooligans Football Pool

This was a side project. Soccer pool website for the World Cup 2014 and Champions League. Users can make picks for the group games and bracket games to earn points.

I built this website with a friend. We had a very aggressive timeline so we made use of turbolinks to make the UI more responsive without having to use a client-side framework.

  • Ruby on Rails
  • Docker
  • TDD

Clipik

Clipik was a San Francisco based startup aiming to help people preserve and share important moments in their lives with short videos. We built a platform that connected amateur freelance video editors with people who had raw video footage that needed editing.

I was a full-time full-stack developer on this project.

  • Ruby on Rails
  • Backbone
  • Heroku
  • Transloadit

Sleep Country Canada

https://sleepcountry.ca

The main web presence for the Canadian mattress retailer. The website included a product catalog, blog, Salesforce integration, store locator, job applications page, admin panel.

I worked on the all components except for the store locator. Deployed and maintained the application and made sure it can handle the relatively high traffic it receives.

  • Ruby on Rails
  • Slicehost
  • memcached
  • Salesforce

Fuse Marketing Group

https://fusecreate.com

The main website for Fuse Marketing Group, a marketing and branding agency in Toronto. One of my first jobs as a professional developer was to build a blog and content management system that Fuse used to showcase projects.

  • Ruby on Rails
  • Custom CMS
  • Slicehost