About

Hi, I’m Tom.

I’m an award-winning interactive developer based in Toronto.

Tom looking professionally moody

Born and raised in Kent, the Garden of England, my goal is to share my enthusiasm for bold, brilliant digital design with standout teams.

Tom looking moody

After building a house (and a few 3D models…) I graduated with BArch in Architecture from the University of Nottingham in 2014.

Tom drilling into the timber frame of the Nottingham H.O.U.S.E, wearing a hard hat and sporting badly dyed hair

I spent a year as architectural assistant at Hawkes Architecture Ltd., known for the Crossway PassivHaus featured on Grand Designs and one of Kevin McCloud’s 10 Grandest.

Up on the gullwing roof of a Hawkes-designed house in construction in Horsmonden

When roles for architectural assistants disappeared, I started as graphic designer for Halsbury Travel in Nottingham.

Over 2 years there I honed my design, identity and front-end development skills, defining the visual presence of 7 brands under one 30-year family business.

I began to take on more freelance work and eventually founded Rook Design, an agency focused on delivering high-quality digital products and bespoke interactive experiences.

Born out of East London and operating across the Atlantic, Rook enabled me to share my dev & design fluency with clients and personally elevate their business online.

Muncie Girls splash screen with moon and stars

In Toronto and working with OneMethod, I had the opportunity to lead a front-end role for incredible clients like Kijiji, Nestlé Canada, and the CFL, with a focus on interactive and engaging UI.

And when we weren’t working we had an ok time.

I balanced this work with Rook projects for familiar Ontario brands like Boom 97.3 and the AGO, and more unique sites like Rita Vinieris.

Further collaboration led me to AOS, a Toronto agency securing business with national bank RBC, local influencer Crumb, and international EDM DJ Frank Walker.

Leading these projects in a senior role and having access to awesome technology and talent motivated me to push our team's Vue framework further, to mix realities in the browser.

My most recent focus has been on the product side, developing 3 interdependent web apps for InVintory, a wine collecting platform. 

This has allowed me to explore JavaScript frameworks and build tools at scale, evolving and adding features to the SPA clients as the user base grew from tens to tens of thousands. 

My work now is focused on augmenting reality with a perceivable layer of intelligent information - especially via the browser.

I’m also in a band. Obviously.

We’re called ZIGO, we’ve been playing since the ol’ school days and our mums buy all our records.

You can hear our latest one on Spotify.

When our bassist is distracted I do our album artwork, and when we’re not recording I do the same for others.

IRL

Out there in the real world, my proudest achievement is running a marathon.

On 22nd April 2012 (I know, let it go) I ran the Virgin London Marathon to raise money for and awareness of Diabetes UK. I was diagnosed with Type 1 in September 2001.

TL;DR

Projects

  1. frankwalkermusic.com— ADCC winner, Senior Developer
  2. quiver.tv— FWA Winner, Senior Developer
  3. ritavinieris.com— Lead Developer
  4. herradura.com— Senior Developer

Technologies

  • JS: ES6+
  • Vue, React, SPA
  • Next, Nuxt, SSR/SSG
  • CSS: Stylus, SCSS
  • Webpack, Vite, Rollup
  • Three.js, GLSL, Aframe, GSAP

Tools

  • AODA AA, WCAG
  • Vercel, Netlify
  • AWS: S3, Cloudfront, Lambda, Amplify
  • GCP: Cloud Build, APIs
  • Firebase: Authenticate, Hosting & Storage

Projects

just get ready for work work work work work work
you see me I be work work work work work work
you see me do me dirt dirt dirt dirt dirt dirt

  1. Potion

    Lead Developer

    Next 13

  2. We’re D.P.E

    Senior UI Developer

    Nuxt
    Contentful

  3. InVintory (web app)

    Head of Web Development

    Vue 3 + Vite

    Free sign up

  4. InVintory Wines (marketing site)

    Head of Web Development

    Headless CMS + Vue

  5. Lande Hekt

    Design & Build

  6. Dean McMullen

    Design & Build

  7. MaryWilkinson.ca

    Design & Build

    two tone loop

  8. Rita Vinieris
  9. FrankWalkerMusic.com

    ADCC winner

    Flexible type, WebGL paint, mobile first

  10. ArrayofStars.com

    Senior Developer

    Vue + Prismic + WebGL

  11. herradura.com

    Senior Developer

  12. Shiplake

    Front End Developer

    data visualisation + interaction

  13. quiver.tv
  14. #Unignorable Tower

    Mobile UI Developer

  15. munciegirls.co.uk

    Design & Build

    Shopify API + Vue

  16. thisiscrumb.com
  17. the286.co.uk
  18. weareZIGO.com

    for my band

  19. Yarok
  20. MixtapeOfYou.com

    UI Developer

    GSAP + nostalgic assets

  21. Urban Manufacturing

    Part II brief

  22. PiJuice

    Designer

  23. Archaeology

    Designer

    EP cover art

Labs

Live. Lab. Love.

Creative coding for the interactive in-browser connoisseur.

  1. Chat GPTom
    OpenAI logo rendered in ASCII

    Open AI GPT-3 API

  2. eccomi
    Wireframe rendering of 3D scan of Tom

    3D scan by Selftraits

  3. vaporescape

    journey through noise generated landscape

    TouchDesigner

  4. mind map
    Frame from generated artwork mindmap

    topographic generation with midi variations

    TouchDesigner

  5. glowh

    TouchDesigner

  6. snowglobe landscape

    generated landscape geometry + ripple waves

    TouchDesigner

  7. bubble point
  8. DirXDX

    vj shader visualisation for guided meditation
    generated for a talk by director x at design exchange: elevate event

  9. mirror ball

    Process work for DirXDX

  10. AR card

    three.js

    ar.js

  11. linezzz

    interactive wave visualiser

    gui for full customisation

    three.js

  12. KnightTorus

    quadratic equation visual

    three.js

  13. wall

    permanent vs temporary interaction

    three.js

  14. nightfuel

    webgl

    three.js

    audiocontext

    gsap

    trailrenderer.js

  15. AsteroidTrails

    three.js

  16. Devmo

    three.js easter egg