Javascript Senpai

Apr 1st, 2025: Lesson 8 is out!

If Javascript is driving you crazy, relax! Javascript Senpai is a monthly online course for digital analytics practitioners. This is a recorded course, so you can play it whenever you want to stop it and resume it when it suits you. Each lesson comes with the complete source code and text transcript.

Subscribe here

Why learn from me?

  • Javascript programming experience since 1998 (only 3 years after Javascript was created)
  • Digital Analytics practitioner (15+ years)
  • Former web developer (4+ years)
  • Wrote the code myself and I use it at work

How do you sign up?

First, ask your manager if that could be part of your personal development plan. It could cost you nothing out of your own pocket!

  • Subscribe here
  • £5 per month (plus 20% VAT if you are in the United Kingdom)
  • You can pay by PayPal or Stripe

If it's not for you, I offer a 14-day money-back guarantee. If you are in the UK, the refund includes the VAT.

Why am I doing this?

I am the dude who has been to nearly 60 MeasureCamps (Europe mostly, but also Moscow and San Francisco in 2018 and Baku in Azerbaijan in 2022). For most of them, I paid it all out of my own pocket. I never could afford or get my employer to pay for attending Superweek. What if I sold an online Javascript course to pay for that from now on? My current goal is to go to one MeasureCamp outside the UK once a year off your monthly subscriptions. Over time, it could let me attend more, perhaps even become a teeny tiny sponsor. The course contains no adds and I don't plug for products or tools. I activate a new lesson usually on the first of the month, but I sometimes skip a month to recharge my batteries.

Recap of what you will be able to do with the first eight lessons:

The lessons are not live, they are pre-recorded. This means that you can access them at any time, stop when you need to, resume when you can and replay as many times you need. The lessons come with the complete source code for the lesson, and a text transcript. So, if English is not your native language, or if I am speaking too fast, you can always go back to the transcript.

    Lesson 1:

    IT needs your sign-off because they are about to push coding changes. You need to check that your digital analytics implementation still works. Some data points you collect on every page, some not until a few pages down and then on every page. However, the network requests are hard to read in raw format. This lesson will teach you how to export raw requests into two-column CSV files, making comparing network requests easier.

    Lesson 2:

    There is no shortage of options for taking screenshots. Here's one you might not know: Javascript! That's right! This lesson will teach you how to generate and download full-page or screen area-specific screenshots using the html2canvas library.

    Lesson 3:

    You don't want to mess with data privacy. However, personally identifiable information (PII) may be your only option to identify visitors across tools. This lesson will teach you how Javascript natively supports Secure Hash Algorithms (SHA) to generate safe identifiers from PII.

    Lesson 4:

    You probably know cookies, localStorage and sessionStorage. Their storage capacity is low. This lesson will teach you how IndexedDB can let you store more data in the browser, in JSON format, and for free. The lesson also teaches how to read back the data, modify it, delete it and export it.

    Lesson 5:

    It's regression-testing time again. To compare across pages, you have a W3C-style data layer, i.e., tree-like JSON data. This lesson will teach how to convert JSON data into a table-like format for easier comparison, regardless of its complexity or variety of data types.

    Lesson 6:

    DevTools can intercept network requests and lets you drill down into the various data points the requests contain. What if you could intercept the network requests, too, and either download a CSV file for each request, as we saw in lesson 1, or store in IndexedDB as we saw in lesson 4 automatically? In this lesson, we will see how you can intercept a Google Analytics 4 network request and display it in the DevTools console.

    Lesson 7:

    Your IT team has restructured the website into a single-page application. Single-page applications (SPA) only load landing and entry pages as full pages. Any subsequent pages you see are only web page fragments, and the Javascript framework updates the full page with them. These page fragments won't trigger page loads by default. In this lesson, you will learn how to tag SPAs without needing to learn React, Angular, Vue or Svelte, nor migrate your code when IT migrates to a new SPA framework.

    Lesson 8:

    You must implement a code snippet that requires communication between the web page and that snippet. An IFrame is required to sandbox the snippet from any interference from the page that will host it. The sandboxing of the iframe requires communicating back and forth between the web page and the iframe.
Subscribe here

Sign in to the course here