Harry Cresswell


Notes on interesting things I’m learning from courses, books, talks and articles on the internet.

Hoisting in Javascript

What exactly is hoisting? Hoisting allows you to access functions and variables before they have been created.

Process JSON data from the command line with JQ

jq is a handy little utility for processing JSON in the command line. It’s useful for turning it into a more readable format when using curl

5 question problem solving strategy

Having a clearly defined, repeatable strategy is the easiest way to make problem solving more tolerable.

Understanding JavaScript Arrow Function syntax

To understand the arrow function syntax, you need to get an understanding of a few different ways of expressing a function.

Understanding data types: boolean and equality

A boolean value is either true or false. Like a light switch it’s either on or off.

Formatting dates in Gatsby with GraphQL

Perhaps the easiest way to format dates in Gatsby is at query-time using Gatsby’s GraphQL layer.

Understanding data types: null vs undefined

There are two ways to express nothing in JavaScript; null and undefined. But how do they differ?

Using CSS Media Queries in React

Using a library called React Media to make CSS media queries possible with React components.

Real-time updates with Sanity watch mode

Watch mode allows you to see realtime content updates without having to manually re-run the build process.

Query data from Sanity using GraphQL

Learn how to query structured content in Sanity with GraphQl and display the content in a Gatsby website

Set up a Gatsby project with Sanity

How to configure Gatsby to play nice with Sanity. Including configuring the gatsby-source-sanity plugin and some cool extra development features that ship with Sanity.

Deploy a GraphQL API for a Sanity project

If you want to consume your Sanity dataset from a front-end the you will need to set up an API. You can do this using Sanity’s custom query language GROQ or GraphQL. These notes focus on the latter.

Content schema in Sanity

When modelling your data try and think about your content not as ‘pages’ but as content ‘types’ and establish what fields each of those content types will need.

Starting a new Sanity project

Sanity is a headless CMS that allows you to structure your content by building custom schemas and deliver it as a flexible API, which you can then query using a front-end of your choice.

Destroy all for loops

Making improvements to a todo list app using higher order functions and callback functions.

Click to delete

Notes taken from module 10 of Practical JavaScript, a free course by Gordon Zhu. In this part we create a way to delete todo items with a todo button.

Functions inside functions

5 different examples of using functions within functions. Lean about higher order functions and callback functions

Escape the Console

Version 9 of Practical Javascript course, learn how to leave the console behind and allow users to use the interface and return data to the screen

Getting data from inputs

Build a todo app with Javascript, learn how to refactor your code and grab data from inputs

Working with the Debugger

Debugging JavaScript using Debugger

HTML and the DOM

Build a todo app with Javascript,learn about the Document Object Model and begin building the front-end HTML to allow users to interface with our application

Data Types and Comparisons

Learn about the difference between objects and primatives in JavaScript.

Thinking in Code

Build a toggleAll method.

Loops for Logic

Build a todo app with Javascript, learn about using for loops for logic


Build a todo app with Javascript, learn about Boolean values.


Objects allow you to group your functions together, so everything related to your todo list is in one place and easy to access.


Functions are like recipes; a set of instructions which can be given to someone so they know exactly what to do or how to make something.


In programming, lists are called Arrays. Learn how to build an array and display items from the array in the console.

What can we learn from shortcuts?

People are resourceful, they will always find the low friction routes, to save money and time. Design for a real need at low friction.

Building With Your Users

Build with your users, get quick feedback loops, and iterate after.

1,000 true fans

To be a successful creator you need only thousands of true fans.

Content Machine

Use Content Marketing to Build a 7-figure Business With Zero Advertising.

Eating Animals

A long hard look at the current impact the meat industry is having on the health of humanity and the world we live in.

Everybody Writes

Your go-to guide to creating ridiculously good content.

Weekly Newsletter

Braintactics is a weekly roundup of articles, tools and tips for product designers and front-end developers. I send it every Friday morning.