I'm a staff product engineer & interaction designer with ~10 years experience building apps, games, and tools for the web. I specialize in creative tools, developer experience, and education. I spent the last few years at Airtable leading work on their developer platform and interface designer products.
I spend a lot of time thinking about coding, computational thinking, and how we teach it. As a teacher/facilitator, I've designed & delivered degree-level software engineering courses, taught business executives to build their own IoT devices, and introduced 7-year-olds to game design. I'm also the creator of Erase All Kittens, an award-winning game that teaches children aged 8+ to code.
In my time at Airtable my role grew and changed with the company as it scaled from 70 to over 1,000 people. As tech lead on the platform/ecosystem team, I was responsible for developing our ecosystem strategy, leading the team to ship our 3rd party extension tools & marketplace, and coordinating work with a group of external contractors.
One of my most significant contributions was Airtable's scripting environment. After my initial idea and 1-week prototype proved popular with users and internal stakeholders, scripting became one of the top priorities for our developer ecosystem strategy as the company made the step from ‘no-code’ to ‘low-code’. I wrote and delivered customer facing training webinars on these tools, and gave a talk at AWS re:Invent 2020 about some of the security considerations for scripting.
After the platform/ecosystem team, I moved on to become one of 3 founding engineers on the newly formed Interface Designer team. ID was the most ambitious project I've workded on. We went from nothing to shipping the 3rd and final pillar of Airtable's overall product strategy in less than a year. I was responsible for designing and implementing an intuitive drag and drop layout builder sitting at the core of the product. The project was an opportunity to question some of the ways Airtable was building software at the time, and after launch we rolled out improvements to our tooling and processes to the entire engineering org.
In my two years consulting, I worked for a range of clients as a one-person digital product design & dev shop. Most clients were smaller non-profit orgs in London without tech experience. I would help develop a rough idea into a fully fledged product concept before iterating towards an MVP through the design, implementation, and user testing process.
I also offered services as an educator and facilitator. For one of my clients, an apprenticeship provider, I designed and delivered an intensive degree-level software engineering boot-camp program. The course has seen candidates grow from absolute beginners to valued members of their software teams at companies like Google, Facebook, and EY.
As a Software Engineer, I helped design, develop, and architect a rewrite of Music Glue's e-commerce system. We replaced a legacy PHP & MySQL monolith with a collection of Node.js & PostgreSQL services, exposed to clients via a single unified GraphQL API. The new system was orders of magnitude faster and more scalable, with far greater flexibility for our users.
On the client-side, I architected a light-weight, performance-oriented React shop frontend used on all Music Glue stores. We set a tight performance budget and were able to keep quite comfortably within it. I also created a new theming system that significantly increased the customization options available to customers.
As co-founder & CTO, I was responsible for all the technical work on our product Erase All Kittens, an award-winning game that teaches children how to code. I started the project in my bedroom, and by the time I left, we had introduced hundreds of thousands of children to coding.
I was responsible for the educational content, and much of the mechanics & puzzle design. I created a custom browser-based game engine to support E.A.K.'s core mechanic - the ability to edit the HTML and CSS source code to levels in real time, as you were playing.
At Decoded I worked on a range of internal and external software products. Notably, I designed and built the live coding environment Decoded used to deliver all their coding workshops. The web-based editor was designed to have the lowest possible barrier to entry and a very tight feedback loop to help new coders understand the effects of their changes.