___         ___         ___         ___                   ___         ___         ___         ___         ___         ___         ___         ___                   ___         ___         ___
     /\__\       /\  \       /\  \       /\  \        ___      /\  \       /\  \       /\__\       /\  \       /\__\       /\  \       /\  \       /\  \        ___      /\  \       /\  \       /\__\
    /:/  /      /::\  \     /::\  \     /::\  \      /\  \    /::\  \     /::\  \     /::|  |     /::\  \     /:/  /      /::\  \     /::\  \     /::\  \      /\  \    /::\  \     /::\  \     /::|  |
   /:/__/      /:/\:\  \   /:/\:\  \   /:/\:\  \     \:\  \  /:/\ \  \   /:/\:\  \   /:|:|  |    /::::\  \   /:/__/      /:/\:\  \   /:/\:\  \   /:/\:\  \     \:\  \  /:/\ \  \   /:/\:\  \   /:|:|  |
  /::\  \ ___ /::\~\:\  \ /::\~\:\  \ /::\~\:\  \    /::\__\_\:\~\ \  \ /:/  \:\  \ /:/|:|  |__ /::::::\  \ /::\  \ ___ /::\~\:\  \ /::\~\:\  \ /::\~\:\  \    /::\__\_\:\~\ \  \ /:/  \:\  \ /:/|:|  |__
 /:/\:\  /\__/:/\:\ \:\__/:/\:\ \:\__/:/\:\ \:\__\__/:/\/__/\ \:\ \ \__/:/__/ \:\__/:/ |:| /\__/:::HH:::\__/:/\:\  /\__/:/\:\ \:\__/:/\:\ \:\__/:/\:\ \:\__\__/:/\/__/\ \:\ \ \__/:/__/ \:\__/:/ |:| /\__\
 \/__\:\/:/  \/__\:\/:/  \/_|::\/:/  \/_|::\/:/  /\/:/  /  \:\ \:\ \/__\:\  \ /:/  \/__|:|/:/  \::1991::/  \/__\:\/:/  \/__\:\/:/  \/_|::\/:/  \/_|::\/:/  /\/:/  /  \:\ \:\ \/__\:\  \ /:/  \/__|:|/:/  /
      \::/  /     \::/  /   |:|::/  /   |:|::/  /\::/__/    \:\ \:\__\  \:\  /:/  /    |:/:/  / \::::::/  /     \::/  /     \::/  /   |:|::/  /   |:|::/  /\::/__/    \:\ \:\__\  \:\  /:/  /    |:/:/  /
      /:/  /      /:/  /    |:|\/__/    |:|\/__/  \:\__\     \:\/:/  /   \:\/:/  /     |::/  /   \::::/  /      /:/  /      /:/  /    |:|\/__/    |:|\/__/  \:\__\     \:\/:/  /   \:\/:/  /     |::/  /
     /:/  /      /:/  /     |:|  |      |:|  |     \/__/      \::/  /     \::/  /      /:/  /     \::/  /      /:/  /      /:/  /     |:|  |      |:|  |     \/__/      \::/  /     \::/  /      /:/  /
     \/__/       \/__/       \|__|       \|__|                 \/__/       \/__/       \/__/       \/__/       \/__/       \/__/       \|__|       \|__|                 \/__/       \/__/       \/__/
Hi, I'm Harry 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 tiling search and renderer system, 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 ////
Searching, generating, validating and rendering Euclidean tilings
A long term project to generate Euclidean tilings by developing a notation to describe them, a structure generator, a validator and a renderer.
Work in progress
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.
1 April 2024
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.
17 March 2024
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.
14 February 2020
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.
14 February 2020
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.
22 May 2018
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.
22 May 2018
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.
18 November 2016
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