Oops! I Made a Game Engine

I needed to teach a bunch of non-coders how to write JS, so I built a game engine. Not the wisest choice, but definitely one that taught me much about how game engines work. Follow along as I show you more of the interesting things I learned through this process. We’ll cover things like:

– Drawing on canvas

– Structuring libraries to not need build steps

– Making sounds and music in the browser

– The math behind drawing circles and lines

– Designing JS APIs that don’t suck

Full-stack web development with The Boring JavaScript Stack

We have an unfair advantage of Node.js to make JavaScript a great language for full-stack web development. But why are frameworks like Rails and Laravel keep winning when it comes to great productivity for the full-stack developer? In this talk I’ll show an alternative way to build full-stack SPAs without subscribing for endless developer tools as a server while also keeping things simple and powerful with The Boring JavaScript Stack.

Satisfying Types: Literal Magic and TypeScript Patterns

TypeScript’s type system is more than just a safety net – it’s an expressive toolkit for modelling complex relationships in your code. In this talk, we’ll explore how literal types serve as building blocks for type patterns that enhance both safety and readability. From discriminated unions to template literals, we’ll see how these concepts build on each other to create more powerful type definitions. Whether you’re new to advanced typing or looking to level up your skills, you’ll leave with concrete patterns you can implement in your codebase today.

Sometimes, you can Go further with JavaScript, if you dare to Go in the first place

There’s no question that JavaScript is everywhere and lets you do amazing things in the browser. There is however the question of whether JavaScript is suitable for all things. In one area in particular, I’ve come to rely on JavaScript for the presentation layer and Go for everything else. In this talk, I’ll show you how these two vastly different languages can work together to build a modern, cohesive solution that puts a new spin on a very old concept: The humble Desktop application.

Using Web Components in React 19

React announced the official beta release of the upcoming 19th version of the library. It arrived with somewhat of a bang, and rightfully so – there are a lot of major changes coming to JavaScript’s most used framework (at the point of writing).However, one massive change that seems to have flown (somewhat interestingly) under the radar is the addition of full native Web Component interoperability. When juxtaposed against Svelte, Vue and Solid’s recent moves away from the Web Component specification – and the uproar caused by Ryan Carniato’s article arguing against Web Components – this is an extremely notable, and interesting development within the landscape of modern JavaScript. In this talk, we will not only explore the implications of the above, but also what this means for the average JavaScript developer in their day-to-day work (especially those using React). We will then end off with a practical example of how you can start using Web Components within React at this very moment.