Tom Shea

I am a front-end expert with years of experience engineering and troubleshooting web apps and websites. Javascript mastery plus extensive knowledge of browser compatibility differences and CSS quirks means I can help you solve any problem you've got.

Sound like a good fit? Send me an email at tom@shea.at.

website | github | twitter | linkedin

Skills

Experience

Senior Software Engineer, Xbox Gaming Publisher Experiences

– Present

Architected, designed from scratch and maintained the brand new Microsoft Store on Xbox. The store is built entirely from the ground up on React Native Windows, which I helped shape of as one of the first users building one of the first ever production RNW apps, using Typescript and C++. Worked closely with design, leading twice-weekly design syncs and translating InVision designs into functioning UI. Acted as a mentor and guide for not just my team, but the entirety of the Publisher Experiences organization. Took ownership over developer experience, build tools and testing infrastructure, as well as building out the components that form the core of the new Microsoft Store experience.

Built and maintained the next generation of web-based publisher tools at Xbox, working across the whole stack to build tools for publishers to create events and publisher pages in the store on Xbox.

Took ownership over localization infrastructure for xbox.com and Xbox Cloud Streaming. Introduced ICU MessageFormat to meet the needs of users globally and support fully natural translations for all languages that Xbox supports.

Lead R&D Engineer, VERVE FOUNDRY™

Prototyped new and innovative creative products, working with designers to create proofs of concept for new ideas and executions. Maintained development environment for the Foundry development team, supporting production development with new tools and libraries to make ad development easier. This position was literally created to describe the work I was already doing on my own initiative.

Front End Engineer, VERVE FOUNDRY™

Used Javascript, HTML5 and CSS to build mobile advertisements for clients, based on specifications from designers. Worked closely with designers to determine feasibility of ideas, with industry-leading turnaround times to ensure campaigns launch on time.

Personal Projects

Ludum Dare entries

– Present

Ludum Dare is a thrice-yearly game jam focused on building games from scratch over a weekend. I've participated in almost every one since 2010, back when there were only 284 other participants. Ludum Dare has grown a lot, and there are 2901 entries in the latest jam. I am proud of all of the games I've created for Ludum Dare, but there are too many to list all of them. You can see the full list of games at http://ludumdare.com/compo/author/thristhart/ and on the new LD site at https://ldjam.com/users/thristhart/games. Here are some highlights:

  • WHISTLE COMMAND, a game you control by whistling. First place out of 2821 other entries in both Innovation and Theme.
  • SneakyLink, a game about chatting. Web-based window manager and OS-like interface. Incomplete, but I'm very proud of the interface I built in 48 hours. 16th place in Innovation out of 2495 entries.
  • Flow, an atmospheric and moody game/toy about growing flowers. Very simple two-button interface designed to work well on both mobile and desktop. 16th in Mood out of 2866 entries.

Kitchen Sync

– Present

Kitchen Sync was created to solve a problem I often ran into with my group of friends: we have a youtube video we want to watch together, but we're not in the same location -- we're all over the world, talking over the internet. Kitchen Sync is a web app that allows users to sync up media (not just youtube, but also mp4 files, audio, etc) such that everyone is seeing the same thing at the same time. It even factors in latency and distance to make sure it feels like everyone is in the same room together.

  • Kitchen Sync on Github
  • Websocket communication for high-accuracy syncing
  • Modular design allows for new 'faucets' (eg the youtube faucet controls youtube sync) to be added easily
  • I still use this app daily to watch things with my friends

Cyrclebot

A bot for Mumble that plays youtube videos over VOIP. There were existing solutions, but I wanted to take the opportunity to learn about audio codecs and processing. When we switched to Discord in 2016, I ported it over to the Discord API, but that version of the bot isn't publicly visible right now.

  • Cyrclebot on Github
  • Uses ffmpeg to turn youtube audio into PCM
  • PCM manipulations for scaling volume and preventing clipping