___         ___         ___         ___                   ___         ___         ___         ___         ___         ___         ___         ___                   ___         ___         ___
     /\__\       /\  \       /\  \       /\  \        ___      /\  \       /\  \       /\__\       /\  \       /\__\       /\  \       /\  \       /\  \        ___      /\  \       /\  \       /\__\
    /:/  /      /::\  \     /::\  \     /::\  \      /\  \    /::\  \     /::\  \     /::|  |     /::\  \     /:/  /      /::\  \     /::\  \     /::\  \      /\  \    /::\  \     /::\  \     /::|  |
   /:/__/      /:/\:\  \   /:/\:\  \   /:/\:\  \     \:\  \  /:/\ \  \   /:/\:\  \   /:|:|  |    /::::\  \   /:/__/      /:/\:\  \   /:/\:\  \   /:/\:\  \     \:\  \  /:/\ \  \   /:/\:\  \   /:|:|  |
  /::\  \ ___ /::\~\:\  \ /::\~\:\  \ /::\~\:\  \    /::\__\_\:\~\ \  \ /:/  \:\  \ /:/|:|  |__ /::::::\  \ /::\  \ ___ /::\~\:\  \ /::\~\:\  \ /::\~\:\  \    /::\__\_\:\~\ \  \ /:/  \:\  \ /:/|:|  |__
 /:/\:\  /\__/:/\:\ \:\__/:/\:\ \:\__/:/\:\ \:\__\__/:/\/__/\ \:\ \ \__/:/__/ \:\__/:/ |:| /\__/:::HH:::\__/:/\:\  /\__/:/\:\ \:\__/:/\:\ \:\__/:/\:\ \:\__\__/:/\/__/\ \:\ \ \__/:/__/ \:\__/:/ |:| /\__\
 \/__\:\/:/  \/__\:\/:/  \/_|::\/:/  \/_|::\/:/  /\/:/  /  \:\ \:\ \/__\:\  \ /:/  \/__|:|/:/  \::1991::/  \/__\:\/:/  \/__\:\/:/  \/_|::\/:/  \/_|::\/:/  /\/:/  /  \:\ \:\ \/__\:\  \ /:/  \/__|:|/:/  /
      \::/  /     \::/  /   |:|::/  /   |:|::/  /\::/__/    \:\ \:\__\  \:\  /:/  /    |:/:/  / \::::::/  /     \::/  /     \::/  /   |:|::/  /   |:|::/  /\::/__/    \:\ \:\__\  \:\  /:/  /    |:/:/  /
      /:/  /      /:/  /    |:|\/__/    |:|\/__/  \:\__\     \:\/:/  /   \:\/:/  /     |::/  /   \::::/  /      /:/  /      /:/  /    |:|\/__/    |:|\/__/  \:\__\     \:\/:/  /   \:\/:/  /     |::/  /
     /:/  /      /:/  /     |:|  |      |:|  |     \/__/      \::/  /     \::/  /      /:/  /     \::/  /      /:/  /      /:/  /     |:|  |      |:|  |     \/__/      \::/  /     \::/  /      /:/  /
     \/__/       \/__/       \|__|       \|__|                 \/__/       \/__/       \/__/       \/__/       \/__/       \/__/       \|__|       \|__|                 \/__/       \/__/       \/__/
Hi, I'm Harrison Hogg.
A fullstack engineer, with 12 years experience building software
The last ~3 years I've been working at Spotify. The previous 7 years were spent working at startups in Brighton and London within various industries. Before that, for 2 years I was shipping jQuery and PHP over FTP (it still counts).
I've worked all parts of the stack; product, design and engineering. I've lead 5 design system projects, Scala dataflow pipelines, a Rust network euclidean tiling search and renderer, a realtime collaborative book editor, GIS infrastructure management, a drag and drop email editor, WebGL, Canvas and SVG infrastructure visualisations used by Netflix, internal engineering platforms, and the desktop application at Spotify.
Prjcts ////
Circle intersections with graph data structures
Using circle intersection pairs and 5 simple rules to create a graph data structure that can be used to find all the intersection areas of circles.
Illustration app using only circle intersections
Using a circle intersection graph to create a simple illustration app that can be used to create art from circles.
Preshape design system
A simple and flexible design system and library of React components and other utilities, that I maintain for my own personal projects.
Using heuristics for the optimal solution to the game of Snake
Using a combination of A* and a heuristic function to produce the optimal solution for solving the classic game of snake.
Rendering spirals and radial patterns with particles in WebGL
A WebGL experiment to render and animate spirals and radial patterns with particles, involving some trigonometry and graphing equations.
Searching and rendering Euclidean tilings with Rust and a multithreaded actor architecture
Developing a notation used to reference unique regular polygon tilings, a searching algorithm to discover them and a renderer to display them for the web.
Matching symmetric circular sequences with Knuth-Morris-Pratt (KMP)
identifying and comparing unique geometric shape arrangements without a defined start or endpoint using the Knuth-Morris-Pratt algorithm in Rust.
Extending a line segment to the edges of a bounded area
Extending line segments to annotate transformation lines using Rust, focusing on mathematical concepts and line intersection techniques to accurately represent these transforms in a bounded area.
Plcemnts {!!}
Spotify
Senior Engineer

My time at Spotify has been spent working on a variety of projects, including Scio data pipelines, Apollo and GRPC Java backends, engineering tooling, and most recently I lead the work stream of bringing AI translated podcasts to the desktop and web player.

backend
data
desktop
frontend
gcp
java
grpc
nodejs
react
scala
scio
typescript
Aug 2021
Bitrise & Outlyer (Acquisition)
Tech Lead

My time at Bitrise was focused on building and leading a performance monitoring platform for mobile applications that collects, aggregates and presents metrics and crashes. I also lead the design system project that was used across a variety of applications and websites.

css
data visualisations
design system
gcp
nodejs
react
typescript
webgl
Oct 2018
Brandwatch
Senior Developer

My time at Brandwatch was spent building the frontend to the Audiences product, leading the development of Axiom (the company's component library and design system) and helping out with various other development projects including a data labeling tool for entity recognition.

css
design system
gcp
javascript
nodejs
react
redux
Nov 2015
Reedsy
Senior Developer

My time at Reedsy was spent building the marketplace to connect book publishing professionals, the real-time collaborative book editing application (using Operational Transformation), and leading the component library project to implement the design system across these two application.

angular
aws
backend
design system
frontend
javascript
nodejs
realtime collaboration
ruby
sass
Apr 2015
Pure360
UI Developer

My time at Pure360 as a UI Developer was focused on building a drag and drop email editor and the platform for campaign management and analytics.

angular
design system
javascript
less
nodejs
scala
Apr 2014