Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Introducing Typescript at Cambridge University Press

22 Feb 2021

Having worked with many clients who struggled to maintain Javascript projects, Typescript was a no brainer when choosing what to use for the project I was leading.

In this post, I'll share what and how I managed the challenges of introducing and using Typescript.

Read More →

Introducing Tailwind at Cambridge University Press

22 Feb 2021

Having used Tailwind in my personal projects, I was already a convert of the utility first approach. When I was given the opportunity to lead a new project at Cambridge University Press, Tailwind was the first tool I reached for.

In this post, I'll discuss why and how using Tailwind worked out for us.

Read More →

Introducing Code-First GraphQL APIs at Cambridge University Press

22 Feb 2021

Having experienced the pain of schema-first GraphQL projects, I wanted to use a different approach for a project I led at Cambridge University Press.

In this post, I'll describe what I used and how using code-first GraphQL worked out for us.

Read More →

How To Use Tailwind Scoped Css Styles With Svelte

21 Jan 2021

In this post I'll show why and how you can use scoped styles with Tailwind and Svelte.

Read More →

How To Use Tailwind Scoped Css Styles With Next.js

21 Jan 2021

In this post I'll show why and how you can use scoped styles with Tailwind and Next.js.

Read More →

Using Tailwind? Consider adding a prefix

19 Jan 2021

Tailwind is rightly receiving all the attention it deserves. Every developer I've introduced it to falls in love with working with CSS again!

On a recent Nuxt project, I noticed a potential issue when using Tailwind class names.

Suddenly 'bg-green-500' didn't behave as expected, as an external component also using the same class had set the color to something else.

Read More →

How To Use Tailwind Scoped Css Styles With Vue

19 Jan 2021

In this post I'll show why and how you can use scoped styles with Tailwind and Vue.

Read More →

Creating Stencil Apps with Tailwind

13 Jan 2021

Stencil is a compiler for creating web components that work alone or with web applications written in React, Vue, Angular, Svelte, Ember or anything else you can think of.

Tailwind CSS deserves all praise love it's getting right now as the developer experience is incredible.

In this post I'll show how to create a Stencil web app using Tailwind CSS.

Read More →

How to fix: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission

05 Jan 2021

It's a good thing browsers don't allow sites to autoplay audio or videos without user interaction.

However, on iOS in particular, you might encounter the error

The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.

when there is an async operation between the user interaction and playing of audio.

The good news is there's a workaround for it.

Read More →

Getting people to believe in your vision

14 Dec 2020

It can be a struggle, endlessly trying to convince your organisation to believe in your ideas and vision.

person holding a lightbulb

In this post, I'll share how I managed to do this.

Read More →

How agile helped Cambridge Assessment to scale

07 Dec 2020

In 2008 the media were reporting on mistakes and delays in marking examination scripts. To ensure they never made the front page of newspapers for the wrong reasons, Cambridge Assessment decided to rethink how they electronically marked examination scripts for millions of students worldwide.

Read More →

Creating a product culture at Cambridge University Press

01 Dec 2020

In 2015 I was hired by Cambridge University Press to develop a web application providing digital access to over 35,000 books and 1.5 million journal articles, consolidating several smaller sites. The application would go onto have over 2 million users a day and generate £65 million in revenue per year.

It was a fantastic technical learning opportunity, but it was our culture and approach to product development that would teach me the most important lesson of all.

Read More →