School of Bias

An interactive educational platform teaching behavioural science through lessons grounded in the relevant research.

2026Ongoingschoolofbias.com

Overview

School of Bias is an educational platform for behavioural science. The core idea was to create a platform that teaches Behavioural Science in an engaging and interesting way, while being grounded in the latest research.

The platform covers courses across domains where behavioural science operates most visibly, including health, finance, gambling, altruism, and consumerism. Each course is broken into structured lessons, with quizzes that must be passed before the next lesson unlocks.

Research as foundation

Building the content required going back to the primary literature, such as Kahneman and Tversky on prospect theory or Thaler on mental accounting. All of the research had to be read carefully, understood properly, and then translated into something teachable. The work therefore involved extracting the key mechanisms from the original papers and turning them into informative lessons.

Organisations like the Behavioural Insights Team and The Behaviourlist regularly publish research on how behavioural science is being applied in real-world contexts to enact lasting change, and keeping up with that work and including it as part of the curriculum is what makes the platform relevant.

School of Bias lesson view

Custom interactive elements

The platform uses custom-built interactive components throughout its lessons, including animated visualisations, and interactive scenarios, each designed to make a specific behavioural concept tangible and engaging. These were built from scratch for each lesson rather than pulled from an existing library, because the concept being taught determined what the interaction needed to do.

School of Bias interactive component

Why Svelte

I decided to build this in Svelte to learn a new framework and to test a different approach to building interfaces. Svelte is a compiler rather than a runtime framework, and when you write a svelte file, the compiler converts it into plain JavaScript at build time. That JavaScript directly manipulates the DOM, with no virtual DOM, which produces smaller and faster code than frameworks that carry a runtime into the browser with them.

This was important for a platform that relies on interactive elements running smoothly, including simulations and animated transitions. Learning Svelte also forced me to understand how reactivity actually works at the level of compiled output, rather than relying on a runtime abstraction to manage it.

Reference pricing simulation

Progress and structure

The platform tracks progress per lesson and gates content behind quiz completion. The gating system was used to encourage genuine engagement with the material.

A library section was included to provide users with a resource for exploring books related to behavioural science. It is connected to a Gemini API LLM model and the Open Library API, which together filter and assess new book additions for relevance to the platform. The result is a library that can grow through community contributions without requiring manual curation of every submission, while still maintaining a meaningful standard for what belongs in it.

School of Bias reading library

Producing the demo video

The demo video was assembled using a chain of tools, each handling a different part of the process. The raw footage was recorded in several short segments using QuickTime Player, then imported into Descript where the clips were ordered, joined together with transitions, and refined using pan and zoom animations. The title card at the end was designed separately in Stitch and compiled at the end of the video with a matching transition. After export, Wink was used to manually remove the watermark before the footage was brought into Canva for the final edit.

The audio was put together in two parts. The background music was generated using Sona and the narration was produced in ElevenLabs, with sentence timing and pacing adjusted to sit against the visual segments properly. Both were layered into the Canva video editor alongside the footage, with the music faded in at the right moment and the voice timed to match the features it was describing.

School of Bias quiz interface

Why I built this

Reading Rutger Bregman's Moral Ambition made me ask the question, if you have a specific set of knowledge and skills, what is actually the most useful thing you can do with them? Building a platform that made behavioural science accessible felt like a meaningful use of my time and skills.

Built with

  • Svelte
  • TypeScript
  • Vite
  • PostgreSQL
  • Drizzle
  • Clerk
  • HTML
  • CSS
  • Vercel

More projects