Hi, I'm Jake Coppinger.

I'm currently working as a frontend software engineer at Atlassian, improving the performance and reliability of an advanced text editor with millions of monthly users.

Website under (re)construction - again!

Say hello! [email protected] | Sydney, Australia

See also: Personal blog / Github / LinkedIn

A little bit about me:

Education

University of New South WalesBSc Computer Science (Distinction)
UNSW Co-Op Scholarship
2016 - 2019

AI, Computer Vision, Neural Networks, Advanced C++, Distributed Systems, Algorithms, OS

Gungahlin College (public, non-selective)
99.75 ATAR

Skills

Languages:

Proficient: TypeScript, C++17, Python
Familiar with: Java, Bash, SQL, C#
Some experience with: Perl, Ruby
Want to learn: Go, Rust

Tools & Frameworks:

Proficient: React, ProseMirror, Flask, Serverless Framework, Vim, Git
Familiar with: AWS Lambda & API Gateway, Webpack
Some experience with: OpenCV, NumPy, AWS EC2, Postgres, Docker, Vue.js

Work

Atlassian, Software Engineer (2020-)

Improving the performance, reliability and customer satisfaction of the Atlassian Editor. My code impacts the experience of millions of monthly active users.

It is an advanced WYSIWYG text editor used in production in many Atlassian products - built as an open-source Typescript + React app using the Prosemirror framework.

Westpac, Software Engineer, 6 month internship (2019)

Worked in a team to develop a green-field specialist finance C# .NET application. I helped improve their Agile work practices and development methods.

Atlassian, Software Engineer, 6 month internship (2018)

Worked with the front-end Editor platform team which builds an advanced WYSIWYG text editor used in production in many Atlassian products. It is an open-source React app using the Prosemirror toolkit written in TypeScript.

Building a rich text editor in a browser is challenging task - there is a huge amount of complexity which must function intuitively to all levels of users, along with a custom document format and robust real-time collaboration between users. I worked with tools such as Bolt, Browserstack and Jest.

Some highlights were: - Implementing a dark mode theme which will ship in the Jira mobile apps in collaboration with the native iOS and Android editor team - Proposing and implementing a change to the Atlassian Document Format used across Atlassian products - Improving the search algorithm to help users insert rich widgets more intuitively

News Corp Australia, 6 month internship (2017)

Worked in the front-end product development team and with a backend specialist on a relatively small from-scratch project to advance News Corp’s front end stack, a Global Preference Centre for email newsletters www.newsletters.news.com.au. It uses Vue.js Server Side Rendering on AWS Lambda behind AWS API Gateway, using GraphQL as an abstraction for legacy systems.

Some things I worked on were: - Tooling for linking multi-repo structure (emulating a monorepo) - Front-end dev of the Vue.js app - Setting up a CI and testing workflow on Atlassian Bamboo using Docker - Implementing AWS Lambda deployments from Bamboo using the Serverless framework - On-demand feature branch deployments to Lambda using AWS API Gateway environment - JS unit tests, setting up Vue component tests using JSDOM, headless parallel Serverless screenshot integration tests - Load testing to determine the best Lambda CPU/RAM settings and cost - Improving SSR performance using AWS X-Ray tracing; ~300ms render time to ~50ms

Projects

Cloudspotting.app, 2019 github.com/jakecoppinger/cloudspotting.app

(No longer in active development due to imagery licencing issues)

Weather radar simplified - a web app that shows every Bureau of Meteorology radar image animated on a slippy map in your exact location. I wrote a custom tileserver which georeferences BOM images and generates slippy map tilesets with Python GDAL and ImageMagick, served up to a Mapbox OpenGL slippy map using an OpenStreetMap cache.

Written in TypeScript (for web and Node) and Python. I also tinkered with FFT powered rain prediction!

Sydney Bus Departures, 2017 github.com/jakecoppinger/sydney-bus-departures

I created a simple API running on AWS Lambda & Heroku to query real-time Sydney bus arrivals using TfNSW’s Trip Planner API. I also built a Pebble JS app to query my nearest favourite bus stops and get real-time departures. (I previously visualised Sydney transit data along with a short film/swiss poster: jakecoppinger.com/transit_in_sydney)

UrbanScribe, 2016 github.com/jakecoppinger/urbanscribe

I developed a proof-of-concept system to enable A/B testing in architecture using computer vision. A laptop recognises pedestrians with OpenCV, sends their positions over WiFi to an Arduino which plots their position on a piece of paper.

Departing.io, 2015 jakecoppinger.com/departing_io

A real-time bus arrivals app for Canberra to simply answer “When will my next bus come”. Built with a Python backend on Heroku which queries the ACT government’s NXTBUS SIRI API and a JS front end that renders on a Canvas using Processing.js

Swirlesque, 2013 jakecoppinger.com/swirlesque

A system for interacting with IoT devices using hand gestures. I developed an Arduino based prototype with a low power gesture recognition algorithm, an Android app in Processing and a 3D printed casing through a year long independent research project while in year 12. I presented my research at TEDxSydney, Intel ISEF, BHPBSEA, Razorfish, CSIRO and was interviewed by University of Pennsylvania, SMH, The Australian, ABC News, 7:30 report, Ten and 7 News.

Other skills

Achievements

Contact me at [email protected].