• Hi, my name is

    Jake Cooper

    I'm a Software Engineer from Victoria, BC
    About Me Resume

Who am I?

I am a software developer currently pursuing my undergrad in software engineering at the University of Victoria. Current personal goals include refining my Golang and React skills, as well as learning Rust. Keep scrolling for a list of personal project.

For employment/contract opportunities, please see the contact form at the bottom of the site. Alternatively, you can email me directly at Jake@JakeCooper.me.

Full Name:
Jake Cooper

Programming, Design, Reading

Victoria, British Columbia, Canada
cv image

+1 250 507 7525

Web Site:


A collaborative learning platform for teaching web development.
latest post image

PlzTeachMe allows anyone to create a room for collaborative learning. Simply navigate to the website, create a room, and send out the link. Users who join the room will be able to write and render HTML, CSS, and JS. The instructor can see and edit their code, and all changes are rendered realtime.

Winner of "Top 10 Best Hacks" at PennApps XV.

Stack : React and Firebase.
Code Status : Open Source

Try it : http://www.PlzTeach.me

Scalable Stockbroker
A distributed stock system capable of processing over 1m requests at 25k requests per second.
latest post image

A stock trading system which can be distributed amongst multiple machines to scale. Includes a quote server, an automated trigger manager, and workers. Instances can be added at will to scale users.

Components utilize RabbitMQ to talk to each other, and each possess Redis queues for request consumption. Also included is a socket based frontend to update the user in real time as to the status of their account.

Stack: Golang, Redis, RabbitMQ, Docker, Sockets.
Code Status : Open Source

A machine learning model capable of identifying incriminating content posted on social media.
latest post image

A website which allows the user to sign into their Facebook and utilize a pretrained image recognition model to identify content posted online which is undesirable for public posting. This includes, but is not limited to, drugs, alcohol, and nudity.

Winner of "Best Privacy Hack at Dubhacks 2016"

Stack : JavaScript, Python, Clarifai API.

Code Status : Open Source

Pokemon Go Maps
Open source development of the largest 3rd party Pokemon Go map.
latest post image

Original repository closed due to Cease and Desist. One of the developers of the Pokemon Go Maps team. Over 8000 stars on the Github public repo, but most of my contributions exist on a private repo.

Utilizes a mutlithreaded hexagonal search outwards to quickly and efficiently search areas for Pokemon.

Stack: Python, JavaScript, Docker.
Code Status : Open Source

A location-based relay chat that allows you to connect with the people around you.
latest post image

Locale allows users to connect instantly with other users around them by creating 'Locales' and instantly being connected to a chat with any other members who chose to join the locale.

Winner of "Best Use of API", "Best Use of Google API", and "Runner Up" at nwHacks 2015.

Stack : JavaScript (Backbone, jQuery, Node.js), Couchbase.
Code Status : Private

Try it : http://www.getlocale.me

Bet on your favorite e-sports teams, effortlessly.
latest post image

A website that allows users to be on their favorite e-sports teams. Using ingame currency, users can place bets on e-sports teams and the server will automatically redistribute items based on the outcome of the games.

The application utilizes the Steam API and Node.js to controls thousands of Steam bots, which are used to collect and return items to over 5000 users.

Stack: JavaScript (Node.js), PHP Laravel, Go, Steam API.
Code Status : Private

Try it : http://www.bookie.gg

Perform live polls during conferences or presentation.
latest post image

A React Native app built using Redux to perform polls live at conferences. LivePoll uses a presenter application to create and track polls, while users download a participant application to cast their votes, which are then updated live on the presenter application. The React-Native app is available on both iOS and Android.

Stack : JavaScript (React, Redux, React-Native), Firebase.

Code Status : Open Source

A scheduling application that uses Sockets so you never miss a booking.
latest post image

Globo Gym is a scheduling application themed that allows users to book rooms in a gym, but can easily be extended to any type of facility.

The Globo Gym platform uses Sockets to notify other users as soon as there is a new booking, so that no booking conflicts occur.

Stack: JavaScript (Angular.js, Node.js, jQuery, Express), MongoDB, Mongoose.
Code Status: Open Source

Mix drinks with a shake of your phone.
latest post image
latest post image

Bartendr is an iOS app and accompanying API that allows you to effortlessly discover new mixed drinks based on your drink inventory. After adding all of your beverages to Bartendr, you can simply shake your phone to return a drink recipe from over 5,500 drinks in the database.

Stack: Swift, Node.js, Express.
Code Status: Private

Bartendr API : http://bartendr.herokuapp.com/
Sample API Request

Your New Dad
A Snake AI which utilizes a Voronoi algorithm with Manhattan partitioning to defeat other snakes.
latest post image

The snake utilizes a Voronoi algorithm with Manhattan partitioning to partition the playing field into sections for each snake. Winner of over 5 different sponsorship prizes at BattleSnake 2017.

Stack: Python
Code Status: Open Source

An redesigned way to view and track Github issues using Backbone.
latest post image

GitPane allows users to quickly view Github issues. It possess a re-imaged asthetic with beautiful rounded edges and fluid animations.

Stack: JavaScript (Backbone, jQuery)
Code Status: Open Source

TestRail Helper
A testing framework for generating, executing, and tracking tests.
latest post image

A framework, commandline application, and GUI application developed to extend functionality to TestRail.

The applications leverage the custom framework to allow users to automatically create sanity tests, mass edit test attributes, and run tests on multiple platforms at once.

Stack: Python, Tkinter, TestRail API.
Code Status: Private

Battle Birds
An incomplete, multiplayer, turn based Android game.
latest post image
latest post image

Battle Birds is a multiplayer, turn based, attack and defend Android game. The aim of the game is to create a fort surrounding your bird's cannon while simultaneously trying to destroy the opposing bird's cannon.

Battle Birds was produced as part of EA Codewars 2014 by 5 students from the University of Victoria: Jake Cooper, Ben Hawker, Andrew Ellis, Chris Hampu, Denis Kisselev.

Stack: Java, Android Studio.
Code Status: Open Source

Aeronautics Clients
A template and series of clients for use with the UVIC Aero UAVs.
latest post image

popup-image Utilising the Google Maps API, the Aero Spectator Client is able to display information about the UAV. This information includes position, airspeed, altitude and a variety of other factors. This client offers read-only access the the UAV information provided from the groundserver.

Stack: HTML, CSS, JavaScript, Google Maps API.
Code Status: Open Source

OnePlus Hack
A series of exploits to manipulate the OnePlus Two reservation queue.
latest post image

After becoming fed up with the OnePlus Two invite system, I decide that I was going to "hack" my way to an invite using Python. After that, I blogged about it on Medium and over 100 different news articles picked up the story. Over 250k people have read the Medium articles.
Part 1
Part 2
Code Status: Open Source

A cat rental application that connects cat lovers and cat owners.
latest post image

CatsForMe is an application that allows cat owners to rent out their cat(s) to other.

As a cat owner, simply upload a picture of your cat, as well as a cat bio and cat lovers will be able to view and rent your cat.

As a cat lover, upload a bio and pictures of your house so that owners may vet you as someone they would rent their cat to.

Work Experience

Software Engineering Intern
  • Re-architecture and rebuilt the file system, landing page, and a variety of other components from the ground up using React, MobX, Flow, and Java Springboot.

  • Wrote custom scripts to implement code linting both locally and on the build server, reducing code review time by over 50%

  • Developed a scalable notification queue for the Cloud Project which allows notifications to be pushed and dismiss asynchronously across the entire project.

  • Help guide decisions on front-end tech stack and develop codingbest practices.

Software Engineering Intern
  • Developed a feature which utilizes the Facebook, LinkedIn, and Google+ APIs to add custom thumbnails to link shares.

  • Aided in adding support for Facebook and YouTube video playback and scheduling in the native Hootsuite webapp.

  • Worked on unified mention system, which allows users to be tagged correctly when publishing on multiple networks at once.

  • Added support for a "Tweets near me" function in the Hootlet Chrome Extension.

Software Engineering Intern
  • Developed a web application using d3.js and jQuery to visualize more than one million nodes. Utilized Java servlets to perform required back-end operations, computations, and database interactions.

  • Developed and maintained an internal metric measurement tool that allowed managers and employees to track their performance and the performance of their subordinates.

Latitude Geographics
QA Development Co-op
  • Built an extensible framework to manipulate test data using the TestRail API and a variety of libraries.

  • Developed an application capable of automatically creating sanity tests, mass editing attributes, and running tests on multiple platforms simultaneously

  • Created a utility capable of identifying unused photos in a database, resulting in a memory savings of 35%.

Contact Me

Contact Me
  • marker imageVictoria, British Columbia, Canada
  • phone image +1 250 507 7525
  • mail image Jake@JakeCooper.me
  • magnifier image www.JakeCooper.me
Send Me A Message
Message sent! Message not sent, please try again.